我有以下每个部门的数据
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
我需要根据部门名称代码将数据拆分为部门:
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';
它不起作用我怎么能达到同样的效果?
暂无答案!
目前还没有任何答案,快来回答吧!