Hive - 如何通过主列和in-array子列的组合进行分组?

时间:2013-07-30 18:43:37

标签: sql mapreduce hive elastic-map-reduce hiveql

我正在尝试使用HiveQL在Amazon EMR上运行查询。表结构如下:

 parentId INT, 
 ARRAY : STRUCT : childId:INT, category:INT  

我希望能够通过parentId和childId的组合进行分组,我该怎么做?我是否需要将表导出到另一个表,以便每个parentId和childId成为自己的行?或者,还有更好的方法?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Figured this out: 

<pre>
    SELECT parentId, array_items.childId , array_items.category 
    FROM table LATERAL VIEW explode(array) exploded_table as array_items;
</pre>

does the trick. Thanks @libjack