猪,把一个数组变成多个记录

时间:2018-02-22 02:24:32

标签: apache-pig

我的记录中有一个数组:

{  
   "resource":"rest-api-v1",
   "accessControlList":[  
      {  
         "methods":{  
            "methodTypes":[  
               "DELETE"
            ]
         },
         "Users":[  
            "user2"
         ]
      },
      {  
         "methods":{  
            "methodTypes":[  
               "CREATE"
            ]
         },
         "Users":[  
            "user1",
            "user2"
         ]
      }
   ]
}

在accessControlList数组中,数组中有2个元素。 如何将此1条记录转换为2条记录? 我希望结果看起来像:

resource: rest-api-v1
accessControl:
{  
             "methods":{  
                "methodTypes":[  
                   "DELETE"
                ]
             },
             "Users":[  
                "user2"
             ]
}

并且

resource: rest-api-v1
accessControl:
{  
             "methods":{  
                "methodTypes":[  
                   "DELETE"
                ]
             },
             "Users":[  
                "user2"
             ]
}

在蜂巢中我可以做一个LATERAL VIEW EXPLODE(),但在猪身上我不知道怎么做。

1 个答案:

答案 0 :(得分:0)

pig FLATTEN操作符可以满足您的需求:https://pig.apache.org/docs/r0.16.0/basic.html#flatten

相关问题