在配置单元中分区后处理子文件夹

handle subfolders after partitions in hive

我的目录结构如下。

我想创建一个以年、月、日作为分区的配置单元 table,但是当我尝试执行 MSCK REPAIR TABLE 时它抱怨子文件夹 'source1'。

创建table 语句

CREATE EXTERNAL TABLE SAMPLE ( col1 STRING, col2 STRING ) PARTITIONED BY (year STRING, month STRING, date STRING) STORED as ORC Location "s3n://blah/data/" TBLPROPERTIES ("orc.compress"="SNAPPY");

MSCK 修复 TABLE 给予 "unexpected component source1"。知道如何在不移动文件的情况下创建外部 table 吗?谢谢你的帮助。

能否请您尝试设置以下 属性

  hive.msck.path.validation = skip (or) ignore

在 hive-site.xml 中,然后在 table

上执行 'MSCK REPAIR TABLE'

(参考自Hive Manual 在“恢复分区(MSCK REPAIR TABLE)”部分下)

这个错误可能是因为你的路径在你的分区(source2 和 source3)之后包含一个文件夹,我在创建语句中忘记分区时遇到了类似的问题。