我有一个制表符分隔的数据输入,由于数据大小,需要使用 Apache Pig 进行处理。我已经成功加载了数据,甚至对其进行了分析,但我想以原始格式将输出存储到文件中,而不是存储元组。
Sample Input
A \t B
A \t B
Sample Output
A \t B
A \t B
而不是(A,B),(A,B)
Store D into 'output' using PigStorage('\n')
问题出在哪里?
我有一个制表符分隔的数据输入,由于数据大小,需要使用 Apache Pig 进行处理。我已经成功加载了数据,甚至对其进行了分析,但我想以原始格式将输出存储到文件中,而不是存储元组。
Sample Input
A \t B
A \t B
Sample Output
A \t B
A \t B
而不是(A,B),(A,B)
Store D into 'output' using PigStorage('\n')
问题出在哪里?
您已加载以制表符分隔的输入,但您将其写回以换行符 (\n)分隔。
尝试:
Store D into 'output' using PigStorage('\t');
或者
Store D into 'output' using PigStorage(); -- tab is the default delimiter
至于输出的具体格式,我建议您查看 flatten [1] 运算符。
[1] http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#Flatten+Operator