我一直用它来加载一个文本文件
A = LOAD '1try.txt' USING PigStorage(' ') as (c1:chararray,c2:chararray,c3:chararray,c4:chararray);
答案 0 :(得分:4)
您可以使用文件夹名称而不是文件名,如下所示:
A = LOAD 'myfolder' USING PigStorage(' ')
AS (c1:chararray,c2:chararray,c3:chararray,c4:chararray);
Pig将加载指定文件夹中的所有文件,如Programming Pig中所述:
指定要从HDFS读取的“文件”时,可以指定目录。在这种情况下,Pig将查找您指定的目录下的所有文件,并将它们用作该load语句的输入。因此,如果你今天有一个带有两个数据文件的目录输入,并且昨天在它下面,并且你指定输入作为要加载的文件,那么Pig将在今天和昨天作为输入读取。如果您指定的目录包含其他目录,那么也将包含这些目录中的文件。
答案 1 :(得分:1)
以下是官方pig文档的链接,指示您可以使用load语句加载目录中的所有文件: http://pig.apache.org/docs/r0.14.0/basic.html#load
语法:LOAD'数据' [使用功能] [AS架构];
其中:'数据':文件或目录的名称,单引号。如果指定目录名,则会加载目录中的所有文件。
答案 2 :(得分:0)
data = load '/FOLDER/PATH' using PigStorage(' ') AS (<name> <type>, ..);
OR
data = load '/FOLDER/PATH' using HBaseStorage();