hadoop在apachepig中的“substr”语句

ktecyv1j  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(422)

我在apachehadoop中有下面的用户数据结构

21796346,83637,2990666,1,2,false,0,0
21827841,15748,8754621,1,7,true,0,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)

我不知道如何在pig中定义substr函数。

vsmadaxz

vsmadaxz1#

你可以用Pig的子串

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;

以获取可以按所有用户分组的所有用户数。

bq9c1y66

bq9c1y662#

您可以在这里找到pig内置函数的完整列表。您要查找的函数被调用 SUBSTRING . 注意pig中的函数名是区分大小写的。

相关问题