【发布时间】:2015-12-29 04:59:18
【问题描述】:
我遇到了一个我无法完全理解的奇怪的 HIVE 行为。 我真的希望有人能对这件事有所了解。
我正在使用以下脚本来创建数据并将其添加到表中:
DROP TABLE myTbl;
CREATE EXTERNAL TABLE myTbl (
Col1 string,
Col2 string,
Col3 string,
Col4 string,
)
PARTITIONED BY (partition STRING)
LOCATION '${hiveconf:Valid_location_on_aws_s3_with_the_proper_file_to_create_table}';
Hive 运行脚本返回 OK 但(这是问题)表为空。
跑步:
select * from myTbl; 不返回任何内容
在脚本运行以下命令/脚本后,这个问题的解决方案相当简单:
MSCK REPAIR TABLE myTbl
现在在该表上执行选择时,我可以看到文件中的所有数据。
我无法理解的是为什么我需要使用修复才能看到表中的数据。
附:使用 LOAD INTO TABLE 可以完美运行,无需任何修复。
【问题讨论】:
-
请不要使用全大写标题。
标签: hadoop hive bigdata hiveql