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