我需要一个hive查询,它根据另一个表的优先级将相同的EAN行合并到表中的一个记录中。
表:产品如上图所示,我有来自不同来源的不同产品(sourceid),我只想根据以下优先级合并所有来源数据。如果优先级“1”源不提供任何字段信息,则该字段信息将从优先级“2”源获取。
表:优先级
node_id Source_id Priority
1 62 1
1 303 2
1 202 3
我期待如下所示的结果。
答案 0 :(得分:1)
你实际上可以使用collect udf来收集基于一个字段的所有其他字段。
或者您可以使用一些嵌套数组或结构将数据转换为单行,如果您不想丢失任何数据。