我有一个不断增长的id列表,我想动态地传递到pig脚本中,以帮助处理单个列的数据。
我手动传递param值,这是不可伸缩的。
命令示例:
pig --param id1=123 id2=456 id3=789 get foo.pig
脚本示例
A = load '$INPUT' using AvroStorage();
B = foreach A generate value.rawData#'id' as user_id:chararray;
C = FILTER B BY user_id == '$id1' or user_id == '$id2' OR user_id == '$id3';
DUMP C;
如何动态传递n个参数值并将它们应用于同一列的区域运算符?
1条答案
按热度按时间vwoqyblh1#
如果我必须解决这个问题,我会:-
1> 创建一个简单的文本文件(比如id.txt)并继续向其添加新闻id。
2> 在我的pig脚本中使用id.txt与$input文件连接,如果找不到id,记录将自动过滤:-