Pig加载多个顺序文件

时间:2015-05-14 21:42:38

标签: hadoop apache-pig

假设目录中有多个文件,如果将目录传递给Pig Load A = LOAD '/SomeDir/'它会一次加载所有文件(我想任何顺序......我不确定)。但是考虑文件名是否是动态的并且也是顺序的,例如根据日期,怎么可以按顺序调用Pig加载?或者可以使用unix list directory命令ls

/SomeDir$ls

20150101.csv
20150102.csv
20150104.csv
.......

#Pig load files at once while keeping the order 

1 个答案:

答案 0 :(得分:1)

Pig LOAD语句用于从指定位置读取输入数据。 假设您的猪命令是:

A = load '/data/examples/file.txt';

这意味着您指定从 /data/examples/

A = load '/data/examples/';

file.txt 读取数据

假设您的pig命令是: 20150101.csv 20150102.csv 20150104.csv 并且在目录中有多个文件,比如说

/data/examples/

这意味着您指定从目录中读取数据:LOAD 在这种情况下,Pig将在您指定的目录下找到所有文件,并将它们用作该load语句的输入,并从第一个文件开始按顺序读取。

如果您指定的目录包含其他目录,那么也将包含这些目录中的文件。

以下链接有助于深入了解auth功能。

http://pig.apache.org/docs/r0.8.1/udf.html#Load+Functions

http://chimera.labs.oreilly.com/books/1234000001811/ch05.html#pl_load

http://pig.apache.org/docs/r0.8.1/piglatin_ref2.html#LOAD