声明逗号分隔的字符串常量

fafcakar  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(388)

目标:声明逗号分隔的字符串常量

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-警告:为活动值找到多个值

fcipmucu

fcipmucu1#

可以使用单个逗号分隔的字符串('a,b,c')和strsplit(https://pig.apache.org/docs/r0.9.1/func.html#strsplit)函数的作用是获取字符包,可以将其展平以创建多个记录。这些数据可以与测试文件中的数据进行内部连接,以获得所需的结果。

相关问题