Hadoop Hive查询将行合并为一行

时间:2016-01-21 15:25:37

标签: hadoop hive hiveql

我需要一个hive查询,它根据另一个表的优先级将相同的EAN行合并到表中的一个记录中。

表:产品    enter image description here

如上图所示,我有来自不同来源的不同产品(sourceid),我只想根据以下优先级合并所有来源数据。如果优先级“1”源不提供任何字段信息,则该字段信息将从优先级“2”源获取。

表:优先级

node_id Source_id   Priority
1        62          1
1        303         2
1        202         3

我期待如下所示的结果。

enter image description here

1 个答案:

答案 0 :(得分:1)

你实际上可以使用collect udf来收集基于一个字段的所有其他字段。

或者您可以使用一些嵌套数组或结构将数据转换为单行,如果您不想丢失任何数据。