Apache pig 为每个元组计算映射中的键数

Apache pig 为每个元组计算映射中的键数,apache-pig,Apache Pig,我正在尝试获取别名中所有用户的计数。每行包含一个用户地图 像这样: ([user_name/454543#Paul Kison]) ([user_name/43433#Josiel的iPhone,user_name/343434#Jose的iPAD,user_name/3434645655#Josiel的]) 在整个别名上使用size()时,出现以下错误: 错误1066:无法打开别名用户计数的迭代器。后端错误:标量在输出中有多行 users = LOAD 'hbase://group' U

我正在尝试获取别名中所有用户的计数。每行包含一个用户地图

像这样: ([user_name/454543#Paul Kison]) ([user_name/43433#Josiel的iPhone,user_name/343434#Jose的iPAD,user_name/3434645655#Josiel的])

在整个别名上使用size()时,出现以下错误: 错误1066:无法打开别名用户计数的迭代器。后端错误:标量在输出中有多行

users = LOAD 'hbase://group'
   USING org.apache.pig.backend.hadoop.hbase.HBaseStorage ('n:user_display_name*', '-limit 10')
   as(display_name);

user_count = FOREACH users GENERATE SIZE(users.display_name);

想法是将每个映射的计数输出相加,得到总计数。

我必须将display_name列的类型显式设置为map[],并更改仅使用列名作为传递给SIZE()的表达式

之后,我将结果总结如下:

users_group = GROUP user_count ALL;
total = FOREACH users_group GENERATE SUM(user_count);

对于那些在这里寻找这篇文章的人来说,这是一个很好的选择。
users_group = GROUP user_count ALL;
total = FOREACH users_group GENERATE SUM(user_count);