Hadoop 如何使用load命令在pig中的文件夹中加载多个文本文件?

Hadoop 如何使用load命令在pig中的文件夹中加载多个文本文件?,hadoop,apache-pig,Hadoop,Apache Pig,我一直用它来加载一个文本文件 A = LOAD '1try.txt' USING PigStorage(' ') as (c1:chararray,c2:chararray,c3:chararray,c4:chararray); 您可以使用文件夹名而不是文件名,如下所示: A = LOAD 'myfolder' USING PigStorage(' ') AS (c1:chararray,c2:chararray,c3:chararray,c4:chararray); Pig将加载

我一直用它来加载一个文本文件

A = LOAD '1try.txt' USING PigStorage(' ') as (c1:chararray,c2:chararray,c3:chararray,c4:chararray);

您可以使用文件夹名而不是文件名,如下所示:

A = LOAD 'myfolder' USING PigStorage(' ') 
    AS (c1:chararray,c2:chararray,c3:chararray,c4:chararray);
Pig将加载指定文件夹中的所有文件,如中所述:

指定要从HDFS读取的“文件”时,可以指定目录。在这种情况下,Pig将找到指定目录下的所有文件,并将它们用作load语句的输入。所以,如果您有一个目录输入,它下面有两个数据文件“今天”和“昨天”,并且您将输入指定为要加载的文件,Pig将同时读取“今天”和“昨天”作为输入。如果指定的目录有其他目录,则这些目录中的文件也将包括在内


您可以使用文件夹名而不是文件名,如下所示:

A = LOAD 'myfolder' USING PigStorage(' ') 
    AS (c1:chararray,c2:chararray,c3:chararray,c4:chararray);
Pig将加载指定文件夹中的所有文件,如中所述:

指定要从HDFS读取的“文件”时,可以指定目录。在这种情况下,Pig将找到指定目录下的所有文件,并将它们用作load语句的输入。所以,如果您有一个目录输入,它下面有两个数据文件“今天”和“昨天”,并且您将输入指定为要加载的文件,Pig将同时读取“今天”和“昨天”作为输入。如果指定的目录有其他目录,则这些目录中的文件也将包括在内


以下是指向官方pig文档的链接,该文档表明您可以使用load语句加载目录中的所有文件:

语法:加载“数据”[使用函数][作为模式]

其中:“数据”:文件或目录的名称,用单引号引起来。如果指定目录名,则会加载目录中的所有文件


以下是指向官方pig文档的链接,该文档表明您可以使用load语句加载目录中的所有文件:

语法:加载“数据”[使用函数][作为模式]

其中:“数据”:文件或目录的名称,用单引号引起来。如果指定目录名,则会加载目录中的所有文件


可能重复的可能重复的可能重复的感谢安德烈。我已经试过了,但是仍然得到一个错误,说无法从目标目录读取数据。有什么建议吗?对我很有用。可能是,您使用了错误的路径到目标目录?您是在本地模式还是MapReduce模式下使用Pig?我在Pig MapReduce模式下使用,顺便问一下,我想知道在指定目录时,我应该这样指定“/user/asiapac/ssamykannu/user/asiapac/ssamykannu”还是“hdfs://localhost:9100/user/asiapac/ssamykannu/user/asiapac/ssamykannu". 我有三个文本文件存储在文件夹“ssamykannu”“/user/asiapac/ssamykannu/user/asiapac/ssamykannu”中,路径非常奇怪。可能您键入了两次路径,实际路径是“/user/asiapac/ssamykannu”。您可以使用hadoop fs-ls命令检查这一点。如果您的Hadoop用户名是“asiapac”,那么您可以使用主目录“ssamykannu”中的相对路径或完整路径“/user/asiapac/ssamykannu”。“路径”hdfs://localhost/user/asiapac/ssamykannu“也可以。是的,这里面有点混乱,我试着重新创建一个新文件夹,它成功了。”。非常感谢安德烈·汉克斯·安德烈。我已经试过了,但是仍然得到一个错误,说无法从目标目录读取数据。有什么建议吗?对我很有用。可能是,您使用了错误的路径到目标目录?您是在本地模式还是MapReduce模式下使用Pig?我在Pig MapReduce模式下使用,顺便问一下,我想知道在指定目录时,我应该这样指定“/user/asiapac/ssamykannu/user/asiapac/ssamykannu”还是“hdfs://localhost:9100/user/asiapac/ssamykannu/user/asiapac/ssamykannu". 我有三个文本文件存储在文件夹“ssamykannu”“/user/asiapac/ssamykannu/user/asiapac/ssamykannu”中,路径非常奇怪。可能您键入了两次路径,实际路径是“/user/asiapac/ssamykannu”。您可以使用hadoop fs-ls命令检查这一点。如果您的Hadoop用户名是“asiapac”,那么您可以使用主目录“ssamykannu”中的相对路径或完整路径“/user/asiapac/ssamykannu”。“路径”hdfs://localhost/user/asiapac/ssamykannu“也可以。是的,这里面有点混乱,我试着重新创建一个新文件夹,它成功了。”。非常感谢AndreyShello如果目录有很多子目录,每个子目录都有多个文件,语法还会加载所有文件吗?如果目录有很多子目录,每个子目录都有多个文件,语法还会加载所有文件吗?
data = load '/FOLDER/PATH' using HBaseStorage();