首页 > 解决方案 > 将动态数组行数据拆分为配置单元中的列名

问题描述

问题陈述:如何将具有动态数组的行值转换为 Hive 中的列名。

例如:表名:TAB1

Col1 Col2

  1.  {a,b,c}
    
  2.  {a,b,d,e}
    
  3.  {e,c,a,m,n}
    

所需输出:我需要以某种方式将行数据动态数组拆分为基于 Col1 作为 TAB1 上的过滤器的列名。

最终查询需要如下所示(我知道需要某种 JOIN 到 TAB1)

select 1,a,b,c from TAB2;
select 2,a,b,d,e from TAB2;
select 3,e,c,a,m,n from TAB2;

标签: hiveql

解决方案


尝试这个 -

SELECT CONCAT("SELECT ",concat_ws(',', t.*)," FROM TAB2;") FROM TAB1;


推荐阅读