apache pig中的“substr”语句

时间:2014-06-17 11:09:22

标签: hadoop apache-pig substr

我在apache hadoop中有以下用户数据结构

21796346,83637,2990666,1,2,false,0,0
21827841,15748,8754621,1,7,true,0,1

第1个字段的前4位代表用户类型。 第二个字段代表部门类型。

我想查询每个部门的用户类型数量。 SQL语句在

之下
select dept_id, substr(User_Id,1,4) as user_type, count(*) as number_of_users from users group by dept_id,substr(User_Id,1,4)

我无法弄清楚如何在猪中定义substr函数。

2 个答案:

答案 0 :(得分:2)

您可以找到Pig的内置函数here的完整列表。您要查找的功能称为SUBSTRING。请注意,Pig中的函数名称区分大小写。

答案 1 :(得分:2)

您可以在PIG中使用SUBSTRING

A = LOAD 'DATA' USING PigStorage(';') AS (User_Id, var1, var2, var3, var4, var5, var6, var7); 
B = GROUP A By SUBSTRING(User_Id,1,4);
C = FOREACH B GENERATE group as user_typeX, COUNT(A) as number_of_users_with_the_same_user_typeX;

获取所有用户的数量,您可以全部分组。