A = LOAD 'EMPLOYEE.txt' USING PigStorage(',') AS(EMP_NUM:int,EMP_NAME:chararray,EMP_PHONE:int);
方法1:使用hcatalog
// dump pig result to Hive using Hcatalog
store A into 'Empdb.employee' using org.apache.hive.hcatalog.pig.HCatStorer();
(或) 方法2:使用hdfs物理定位
// dump pig result to external hive warehouse location
STORE A INTO 'hdfs://<<nmhost>>:<<port>>/user/hive/warehouse/Empdb/employee/' USING PigStorage(',')
A = LOAD 'inputfile.txt' USING PigStorage(',') AS(id:int,name:chararray,city:chararray);
B = FILTER A by id > = 678933;
C = FOREACH B GENERATE id,name,city;
STORE C INTO '/user/cloudera/outputfiles/usecase1' USING PigStorage('|');
4条答案
按热度按时间r6hnlfcb1#
您可以使用hcatalog存储它
使用org.apache.hive.hcatalog.pig.hcatstorer()将数据存储到“tablename”;
请参见下面的链接https://acadgild.com/blog/loading-and-storing-hive-data-into-pig
xwbd5t1u2#
下面以“employee”表为例说明了两种将pig输出存储到hive表中的方法(前提条件是应该已经创建配置单元表)
方法1:使用hcatalog
(或)
方法2:使用hdfs物理定位
;
xxhby3vn3#
最好的方法是使用hcatalog并将数据写入hive表。
使用org.apache.hive.hcatalog.pig.hcatstorer()将最终的_数据存储到“hive_table_name”中;
但在存储数据之前,请确保“final\u data”数据集中的列与表的模式完全匹配并Map。
然后像这样运行pig脚本:pig script.pig-usehcatalog
xmjla07d4#
好 啊。在hdfs目录的某处创建一个具有架构布局的外部配置单元表。让我们说
只需创建一个如上所述的表,而无需将任何文件加载到该目录中。
现在编写一个pig脚本,我们读取一些输入目录的数据,然后在存储该pig脚本的输出时使用如下所示
确保pigscript中最终foreach语句的目标位置、分隔符和架构布局与hiveddl架构匹配。