Csv 在pig中存储多个变量

Csv 在pig中存储多个变量,csv,hadoop,apache-pig,Csv,Hadoop,Apache Pig,我对pig非常陌生,我不知道谷歌该怎么做,因为我得到的结果并没有真正解决我的问题 我所拥有的是现在 a = LOAD 'SOME_FILE.csv' using PigStorage(',') AS schema; C = FOREACH B GENERATE $0, $1,$2 ; STORE C into 'some storage' using PigStorage(';') 我想做的是通过for循环运行它,并将它们存储在同一个文件中 我如何做到这一点?谢谢换句话说,我有一些_FIL

我对pig非常陌生,我不知道谷歌该怎么做,因为我得到的结果并没有真正解决我的问题

我所拥有的是现在

a = LOAD 'SOME_FILE.csv' using PigStorage(',') AS schema; 
C = FOREACH B GENERATE $0, $1,$2 ; 
STORE C into 'some storage' using PigStorage(';')
我想做的是通过for循环运行它,并将它们存储在同一个文件中

我如何做到这一点?谢谢换句话说,我有一些_FILE.csv、一些_FILE _1.csv、一些_FILE _2.csv等等。但是我希望通过相同的FOREACH语句运行它们,并且只运行一个STORE语句,或者至少将结果连接到相同的输出

对不起,如果我不清楚这一点

比如说,我如何将其全部写入同一个文件,而不是
'SOME_FILE.*.csv'
?在这种情况下,我需要处理的文件数量超过3个


谢谢

假设您的输入文件具有相同的模式,则:

a = LOAD 'SOME_FILE.csv' using PigStorage(',') AS schema;
b = LOAD 'SOME_FILE_1.csv' USING PigStorage(',') AS schema;
c = LOAD 'SOME_FILE_2.csv' USING PigStorage(',') AS schema;
您可以使用来连接输入

a_b_c = UNION a,b,c; 
C = FOREACH a_b_c GENERATE $0, $1,$2; 
STORE C into 'some storage' using PigStorage(';');

假设输入文件具有相同的架构,则:

a = LOAD 'SOME_FILE.csv' using PigStorage(',') AS schema;
b = LOAD 'SOME_FILE_1.csv' USING PigStorage(',') AS schema;
c = LOAD 'SOME_FILE_2.csv' USING PigStorage(',') AS schema;
您可以使用来连接输入

a_b_c = UNION a,b,c; 
C = FOREACH a_b_c GENERATE $0, $1,$2; 
STORE C into 'some storage' using PigStorage(';');
你可以用两种方法

 1.use glob function for uploading multiple csv in same directory from hdfs and
  • 使用联合
  • 全局函数
    在hdfs中创建目录,并将所有的_文件*.csv放在hdfs中创建的目录中

    hadoop dfs-mkdir-p/user/hduser/data

    将csv放入hdfs中创建的目录中

    hadoop dfs-放置/定位\u文件/某些\u文件*.csv/user/hduser/data

    hadoop dfs-ls/user/hduser/data

    goto grunt使用apache pig的外壳

    清管器-x mapreduce

    a=load'/user/hduser/data/{SOME_FILE,SOME_FILE_1,SOME_FILE_2}.csv',使用PigStorage(',')作为模式

    转储a

    您可以通过两种方式完成

     1.use glob function for uploading multiple csv in same directory from hdfs and
    
  • 使用联合
  • 全局函数
    在hdfs中创建目录,并将所有的_文件*.csv放在hdfs中创建的目录中

    hadoop dfs-mkdir-p/user/hduser/data

    将csv放入hdfs中创建的目录中

    hadoop dfs-放置/定位\u文件/某些\u文件*.csv/user/hduser/data

    hadoop dfs-ls/user/hduser/data

    goto grunt使用apache pig的外壳

    清管器-x mapreduce

    a=load'/user/hduser/data/{SOME_FILE,SOME_FILE_1,SOME_FILE_2}.csv',使用PigStorage(',')作为模式


    转储a

    在我的问题中添加了一个新的部分,假设所有csv文件都位于/your/this/directory/then data=LOAD'/your/this/directory/*.csv',使用PigStorage(',')作为模式;也将起作用,然后进行转换和存储在我的问题中添加一个新的部分,假设您的所有csv文件都位于/your/this/directory/then data=LOAD'/your/this/directory/*.csv'中,使用PigStorage(',')作为模式;也将起作用,然后进行转换和存储