我有一个简单的PIG脚本,它只使用FILTER
命令。它看起来像这样......
--sample_script.pig
some_data = load './a_file' as (col1:chararray, col2:chararray);
contains_ = filter some_data by (col2 == '1') OR (col2 == '2');
store contains_ into './a_new_file';
当我运行此脚本时,它会输出一个文件夹a_new_file
,其中包含3个文件part-m-00000
,part-m-00001
和_SUCCESS
。从我可以收集到的,我编写脚本的方式不需要减少阶段。有没有不同的方法来写这个,所以这个脚本只会输出一个文件?
感谢。
答案 0 :(得分:0)
您可以在脚本本身中设置缩减器数量
--sample_script.pig
set default_parallel 1;
some_data = load './a_file' as (col1:chararray, col2:chararray);
contains_ = filter some_data by (col2 == '1') OR (col2 == '2');
store contains_ into './a_new_file';
OR
您可以合并small files
答案 1 :(得分:0)
您可以通过以下方式单独使用PARALLEL 1
进行过滤
contains = filter some_data by (col2 == '1') OR (col2 == '2') PARALLEL 1;
这将只创建一个零件文件