【问题标题】:Interacting with multiple stored values within a field in Pig与 Pig 中的字段中的多个存储值交互
【发布时间】:2018-08-28 17:11:36
【问题描述】:

我目前正在处理 pig 中包含多个值的字段。我希望按位置按产品统计用户,我使用LOAD 创建以下格式的数据:(Location, {(product1), (product2), (product3)}, numOfUsers)。我希望将每个产品分开并将它们视为单独的实体,这意味着我希望得到以下结果:

(location, (product1), numOfUsers)
(location, (product2), numOfUsers)
(location, (product3), numOfUsers)

我相信我需要使用某种嵌套的FOREACH 函数,但我有点迷茫。包含在同一元组中的每个产品的用户数将是相同的,因为它们是分组的,这很好。我是一个初学者(3 天前从 Pig 开始),所以任何指导将不胜感激。我相信我会使用FLATTEN

【问题讨论】:

    标签: hadoop apache-pig apache-zeppelin


    【解决方案1】:
    FOREACH A GENERATE location, FLATTEN(products) AS product, numOfUsers;
    

    解决了这个问题。这创建了存储在包中的所有记录的交叉产品。使用http://www.st.ewi.tudelft.nl/~hauff/BDP-Lectures/9_10_advanced_pig.pdf 供参考。非常有用的资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-23
      • 2014-10-18
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 2012-07-10
      • 2012-05-08
      • 1970-01-01
      相关资源
      最近更新 更多