[英]Insert partitioned data into partitioned hive table
我已經使用帶有列ID的Pig Multistorage將數據存儲在hdfs中。
所以數據存儲為
/output/1/part-0000
/output/2/
/output/3/
現在,我在配置單元中創建了一個分區表,我想將數據從/ output文件夾加載到該分區表中。 有什么辦法可以做到這一點?
首先,您創建一個臨時配置單元表,從其中加載清管器輸出中的所有數據。
然后,您將從temp表加載到實際的分區配置單元表。
如下所示:
FROM emp_external temp INSERT OVERWRITE TABLE emp_partition PARTITION(country) SELECT temp.id,temp.name,temp.dept,temp.sal,temp.country;
另外,您可以在這種情況下瀏覽Hcatlog。
不知道您是否要在將輸出文件夾(由Pig創建)中的數據插入到現有表中,或將輸出文件夾中的數據加載到新的配置單元分區表中。
如果要將數據加載到新的配置單元表中,則可以創建一個指向輸出文件夾的新分區表
如果希望將數據加載到現有的配置單元表中,則可以按照@Aman的指導創建一個臨時表,並在目標表中進行插入
要么
您可以將hdfs中的文件從output /移動/復制到hive表位置。
希望這可以幫助
使用分區列(Alter表“添加分區”)作為列ID將Hive架構分配給Pig輸出位置。 現在這兩個都是配置單元表,您可以在分區列上使用where子句來移動數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.