簡體   English   中英

將分區的數據插入分區的配置單元表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM