![](/img/trans.png)
[英]Hive CLI not populating table data (from Create Table as Select Query) while Hive Beeswax works fine
[英]Hive Insert works fine from Hive CLI but fails from terminal
我目前有以下情况:
我有一个shellscript,它创建两个表,然后用另一个数据填充其中一个。
我的脚本看起来像这样:
hive -e "CREATE EXTERNAL TABLE table1 ... ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION '/user/input/'"
hive -e "CREATE EXTERNAL TABLE table2 ... PARTITIONED BY ..."
hive -e "WITH data AS (SELECT date, ...) FROM data INSERT OVERWRITE TABLE table2 PARTITION(part_date) SELECT ... date"
然后再一些shellscript从table2中选择某些数据。 我使用shellscript是因为必须先应用一些逻辑,然后才能对table2
进行选择。
脚本运行无错误,表已创建,表table1
有数据,但table2
最终为空。 出于某种原因,当我使用非常小的测试数据集时它可以工作,但是一旦数据集变大(> 1GB), table2
就空了。
如果我从Hives CLI手动运行相同的命令,则一切正常,并且table2
包含预期的数据。
为什么会发生这种情况,我该如何解决?
您的shell脚本命令必须顺序执行才能获取table2
数据。
在您的shell脚本中尝试以下操作:
hive -e "your first query" &&
hive -e "your second query" &&
hive -e "your third query"
这应该一个接一个地执行您的配置单元查询。 (第二个查询等待第一个查询完成,第三个查询同时等待第一个查询和第二个查询)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.