在猪中存储多个变量
Storing multiple variables in pig
我对猪非常陌生,我不确定 google 是什么,因为我得到的那些结果并没有真正解决我的问题。
我现在拥有的。
a = LOAD 'SOME_FILE.csv' using PigStorage(',') AS schema;
C = FOREACH B GENERATE [=10=], , ;
STORE C into 'some storage' using PigStorage(';')
我想做的是 运行 通过 for 循环并将它们存储在同一个文件中。
我该如何实现?谢谢。换句话说,我有 SOME_FILE.csv、SOME_FILE_1.csv、SOME_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;
您可以使用 UNION 连接您的输入
a_b_c = UNION a,b,c;
C = FOREACH a_b_c GENERATE [=11=], ,;
STORE C into 'some storage' using PigStorage(';');
你可以用两种方式做
1.use glob function for uploading multiple csv in same directory from hdfs and
- 使用联合
glob 函数
在 hdfs 中创建目录并将所有 SOME_FILE_*.csv 放入 hdfs
中创建的目录中
hadoop dfs -mkdir -p /user/hduser/data
将 csv 放入 hdfs 中创建的目录中
hadoop dfs -put /location_of_file/some_files*.csv /user/hduser/data
hadoop dfs -ls /user/hduser/data
使用
转到 apache pig 的 grunt shell
pig -x mapreduce
a = 加载 '/user/hduser/data/{ SOME_FILE, SOME_FILE_1, SOME_FILE_2}.csv' 使用 PigStorage(',' ) 作为架构;
转一个;
我对猪非常陌生,我不确定 google 是什么,因为我得到的那些结果并没有真正解决我的问题。
我现在拥有的。
a = LOAD 'SOME_FILE.csv' using PigStorage(',') AS schema;
C = FOREACH B GENERATE [=10=], , ;
STORE C into 'some storage' using PigStorage(';')
我想做的是 运行 通过 for 循环并将它们存储在同一个文件中。
我该如何实现?谢谢。换句话说,我有 SOME_FILE.csv、SOME_FILE_1.csv、SOME_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;
您可以使用 UNION 连接您的输入
a_b_c = UNION a,b,c;
C = FOREACH a_b_c GENERATE [=11=], ,;
STORE C into 'some storage' using PigStorage(';');
你可以用两种方式做
1.use glob function for uploading multiple csv in same directory from hdfs and
- 使用联合
glob 函数
在 hdfs 中创建目录并将所有 SOME_FILE_*.csv 放入 hdfs
hadoop dfs -mkdir -p /user/hduser/data
将 csv 放入 hdfs 中创建的目录中
hadoop dfs -put /location_of_file/some_files*.csv /user/hduser/data
hadoop dfs -ls /user/hduser/data
使用
转到 apache pig 的 grunt shellpig -x mapreduce
a = 加载 '/user/hduser/data/{ SOME_FILE, SOME_FILE_1, SOME_FILE_2}.csv' 使用 PigStorage(',' ) 作为架构;
转一个;