目标:声明逗号分隔的字符串常量
test.csv
=========
a
b
c
d
e
f
Pig脚本:
%declare ACTIVE_VALUES 'a', 'b','c' ;
-- Declaring constant like this using "" (double quotes) or even using escape characters (\) is resulting in a WARN message as below
-- WARN org.apache.pig.tools.parameters.PreprocessorContext - Warning : Multiple values found for ACTIVE_VALUES
A = LOAD 'test.csv' using PigStorage(',') AS (value:chararray);
B = FILTER A BY value in ($ACTIVE_VALUES);
dump B;
预期产量:
a
b
c
在pig中声明逗号分隔字符串常量的任何输入。
--使用“”(双引号)或甚至使用转义字符(\)这样声明常量会产生如下警告消息
--warn org.apache.pig.tools.parameters.preprocessorcontext-警告:为活动值找到多个值
1条答案
按热度按时间fcipmucu1#
可以使用单个逗号分隔的字符串('a,b,c')和strsplit(https://pig.apache.org/docs/r0.9.1/func.html#strsplit)函数的作用是获取字符包,可以将其展平以创建多个记录。这些数据可以与测试文件中的数据进行内部连接,以获得所需的结果。