apache pig如何在filenames.txt中加载文件

时间:2013-09-23 21:49:29

标签: apache-pig

我有一个存储在filenames.txt中的文件名列表。是否可以使用单个LOAD命令将它们全部加载在一起?

它们不在同一目录中,也没有相似的格式,因此它不像使用/ 201308加载20130801.gz到20130831.gz。

另外,列表中的文件太多,阻止我像this那样做:

  

shell:pig -f script.pig -param input = / user / training / test / {20100810..20100812}

     

pig:temp = LOAD'$ input'使用SomeLoader()AS(...);

提前感谢您的见解!

1 个答案:

答案 0 :(得分:2)

如果文件数量相当小(例如:在命令行中符合ARG_MAX),您可以尝试将文件中的行连接成一个字符串:

pig -param input=`cat filenames.txt | tr "\n" ","` -f script.pig

script.pig:
A = LOAD '$input' ....

如果它是您的选项,可能最好列出目录而不是单个文件。