Csv 在pig中存储多个变量
我对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
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(',')作为模式;也将起作用,然后进行转换和存储