![](/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.