presto列转行

Posted Lenskit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了presto列转行相关的知识,希望对你有一定的参考价值。

原数据有一列数据为[1,2] , [0,2]这样,需要统计每种类别具体的占比,所以需要行转列。

由于数据在hive中,建表人员为了导数方便将字段类型设置成了string,而presto的列转行函数只能处理Array格式,尝试了一波cast as array,均以失败告终。

一怒之下直接用两次repalce和一次split得到了array,后面就好办了。presto列转行示例:

select  
        column
        from test
        -- 列转行,请注意columns和column的区别
CROSS JOIN UNNEST(columns) AS t (column);

 

以上是关于presto列转行的主要内容,如果未能解决你的问题,请参考以下文章

Presto:聚合所有列的数组

如何在presto中将列转换为数组

如何连接由 Presto 中的另一列分组的数组?

获取特定表中特定列的数据类型的 Presto 查询是啥?

根据 Presto/Hive 中的列值聚合列

结构数组的 Presto 查询返回单个结构元素作为列而不是结构行