Hadoop 将清管器输出存储为Ctrl分隔的输出,以便导入到配置单元中?
如何将PIG输出存储为Ctrl分隔的输出,以便存储到hive中?可以这样尝试吗Hadoop 将清管器输出存储为Ctrl分隔的输出,以便导入到配置单元中?,hadoop,apache-pig,Hadoop,Apache Pig,如何将PIG输出存储为Ctrl分隔的输出,以便存储到hive中?可以这样尝试吗 STORE <OutpuRelation> INTO '<Outputfile>' USING PigStorage('\u0001'); Example: input.txt 1,2,3,4 5,6,7,8 9,10,11,12 PigScript: A = LOAD 'input.txt' USING PigStorage(','); STORE A INTO 'out' USING
STORE <OutpuRelation> INTO '<Outputfile>' USING PigStorage('\u0001');
Example:
input.txt
1,2,3,4
5,6,7,8
9,10,11,12
PigScript:
A = LOAD 'input.txt' USING PigStorage(',');
STORE A INTO 'out' USING PigStorage('\u0001');
Output:
1^A2^A3^A4
5^A6^A7^A8
9^A10^A11^A12
你能这样试试吗
STORE <OutpuRelation> INTO '<Outputfile>' USING PigStorage('\u0001');
Example:
input.txt
1,2,3,4
5,6,7,8
9,10,11,12
PigScript:
A = LOAD 'input.txt' USING PigStorage(',');
STORE A INTO 'out' USING PigStorage('\u0001');
Output:
1^A2^A3^A4
5^A6^A7^A8
9^A10^A11^A12
要获得预期的结果,您可以按照下面提到的过程进行操作 使用下面的命令存储您的关系
STORE <Relation> INTO '<file_path>' USING PigStorage('\u0001');
并将数据加载到表中
hive> load data local inpath '<file_path>' into table temp;
要获得预期的结果,您可以按照下面提到的过程进行操作 使用下面的命令存储您的关系
STORE <Relation> INTO '<file_path>' USING PigStorage('\u0001');
并将数据加载到表中
hive> load data local inpath '<file_path>' into table temp;
我刚刚测试了这个方法,但它不起作用。。。还有其他建议吗?谢谢你能不能提供一些更详细的信息,说明为什么这样做不起作用。对我来说,这样做很正常,我可以将数据加载到hive中。您是将pig输出文件复制到新文件并加载到配置单元中,还是将pig脚本生成的相同输出文件加载到配置单元中?我没有在每个字段之间使用^A分隔符。我不能发布我的输出,因为它是机密的,但是如果在哪里使用文本文件input.txt,它看起来像->1234而不是1^A2^A3。。。这与定义字段参数有关吗?我刚刚测试了这个方法,但它不起作用。。。还有其他建议吗?谢谢你能不能提供一些更详细的信息,说明为什么这样做不起作用。对我来说,这样做很正常,我可以将数据加载到hive中。您是将pig输出文件复制到新文件并加载到配置单元中,还是将pig脚本生成的相同输出文件加载到配置单元中?我没有在每个字段之间使用^A分隔符。我不能发布我的输出,因为它是机密的,但是如果在哪里使用文本文件input.txt,它看起来像->1234而不是1^A2^A3。。。这与定义字段参数有关吗?为什么不直接将数据存储到配置单元表中?请参见HCATStorer为什么不直接将数据存储到配置单元表中?见HCatStorer