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

时间:2016-02-10 10:00:28

标签: hadoop apache-pig

我有以下每个部门的数据

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

它不起作用 我怎样才能实现同样的目标?

0 个答案:

没有答案