软件介绍:我目前正在处理pig中包含多个值的字段。我正在寻找计数用户按产品的位置和我用过的 LOAD 以以下格式创建数据: (Location, {(product1),...
我目前正在处理pig中包含多个值的字段。我正在寻找计数用户按产品的位置和我用过的 LOAD 以以下格式创建数据: (Location, {(product1), (product2), (product3)}, numOfUsers) . 我希望将每个产品分开,并将它们视为单独的实体,这意味着我希望最终得到以下结果:
(location, (product1), numOfUsers)
(location, (product2), numOfUsers)
(location, (product3), numOfUsers)
我想我需要用一些嵌套的 FOREACH 但我有点迷路了。同一元组中包含的每个产品的用户数将是相同的,因为它们是分组的,这很好。我是一个初学者(开始与Pig3天前),所以任何指导将不胜感激。我相信我会用 FLATTEN ?
FOREACH A GENERATE location, FLATTEN(products) AS product, numOfUsers;
解决了这个问题。这将创建存储在包中的所有记录的叉积。使用http://www.st.ewi.tudelft.nl/~hauff/bdp-lectures/9_10_advanced_pig.pdf 供参考。非常有用的资源。