如何使用pig中的参数分割数据

r1zhe5dt  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(266)

我有以下每个部门的数据

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';

它不起作用我怎么能达到同样的效果?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题