我是高级开发人员,但对Pig来说是新手。
我们有一个用例来构建Pig Latin中的度量,如下所示
购买物品月份和上个月购买物品的客户数量/上个月购买物品的客户数量
第一步似乎是使用FOREACH GROUP GENERATE COUNT(购买)生成客户计数;并将其写入文件,然后再次将其读回
当我再次读回数据时,是否有一种方法可以让每个比较当前行(现在是按月计算的总计数)和前一行
在数据写出并再次回读之前,数据应该可以旋转,并且每列与之前的数据进行比较。从左到右而不是一排一排?
猪的案例陈述可以这样吗
案例(customerboolean_has_sales_february + customerboolean_has_sales_january)
2 countsalesfeb + countalesjan / countsalesjanuary 1 null 0 null
过去一个月骑行并且在上个月骑行的客户/上个月骑行的客户总数
答案 0 :(得分:0)
1)
将文件加载到关系A和关系B中两次。
排序关系A& B按月排序。
使用RANK生成行号。
从关系B中删除最高记录。
在关系B上使用RANK获得新关系B_New
在行号上加入A和B_New。
对于每一行,从列中生成所需的结果。
我已经回答了类似问题here
2)
*猪的案例陈述可以这样吗? case(customerboolean_has_sales_february + customerboolean_has_sales_january) *