2015-10-29 98 views
0

我已经使用Pig Multistorage和列id将数据存储在hdfs中。将分区数据插入到分区配置单元表

所以数据存储为

/output/1/part-0000 
/output/2/ 
/output/3/ 

现在我已经创造了蜂巢分区表,我想从/输出文件夹中的数据加载到该分区表。有什么办法可以做到这一点?

回答

0

首先创建一个临时配置单元表,您可以从pig输出中加载所有数据。
然后从临时表中加载到实际的分区配置单元表。
类似下面:

FROM emp_external temp INSERT OVERWRITE TABLE emp_partition PARTITION(country) SELECT temp.id,temp.name,temp.dept,temp.sal,temp.country; 

否则你可以探索Hcatlog这种情况。

0

不确定您是否希望将输出文件夹(从猪创建)中的数据插入到现有表中或将输出文件夹中的数据加载到新的配置单元分区表中。

如果要加载到新的蜂巢表中的数据,你可以创建一个新的分区表指向输出文件夹

如果您正在寻找将数据加载到现有的蜂房表,那么你就可以无论是创建一个临时表作为@Aman mentioed和到目标表

你可以只移动做一个插入/输出,从在HDFS文件复制/蜂巢表位置。

希望这有助于

0

分配蜂巢架构与分区列猪输出位置(ALTER TABLE添加分区)的列ID。现在这两个都是配置表格,您可以使用where子句通过分区列来移动数据。

相关问题