0

我有一个加载多个输入文件的 Pig 脚本。当我想从文件中获取每个输入记录的输入文件名时tagsourcetagfile它只获取第一个文件名,但包含两个文件中的数据。

示例

I_STREAM = LOAD '/tmp/' USING PigStorage(';','-tagFile') AS (filename, f1, f2, f3);
DUMP I_STREAM; 

文件内容

/tmp$ cat ./file1.txt
1;1;1 

/tmp$ cat ./file2.txt
2;2;2

电流输出

(file1.txt, 1,1,1)
(file1.txt, 2,2,2)

预期输出

(file1.txt, 1,1,1)
(file2.txt, 2,2,2)
4

1 回答 1

2

可能是因为您的文件很小,并且正在合并吗?文档指定将“pig.splitCombination”设置为 false。 http://pig.apache.org/docs/r0.10.0/api/org/apache/pig/builtin/PigStorage.html

于 2013-08-07T16:27:13.707 回答