我有以下每个部门的数据
1,IT,100
2,HR,244
3,AC,345
4,IT,654
5,HR,856
6,AC,545
7,IT,769
8,AC,423
9,HR,908
我需要根据部门名称将数据拆分为dept 代码:
data = LOAD '/user/dept_data.txt' USING PigStorage(',') as (id:int,dept:chararray,count:int);
split data into (IT_data if dept=='IT'),
(HR_data if dept=='HR'),
(AC_data if dept=='AC');
它的工作正常然而现在我需要使它通用,以便如果任何新的部门来了 我不需要对代码进行任何更改。 像这样的东西:
split data into ('$dept'_data if dept=='$dept');
我尝试修改上面的代码如下:
data = LOAD '/user/dept_data.txt' USING PigStorage(',') as (id:int,dept:chararray,count:int);
depts = foreach data generate dept as dept;
distinct_dept= distinct depts;
split data into 'distinct_dept.dept'_data if dept=='distinct_dept.dept';
它不起作用 我怎样才能实现同样的目标?