如何在 Hive 表中将数据字符串拆分为 3 个单独的列?

示例输入数据: 116:151:1 。拆分为 gid, sid, rid

所需输出:

gid    sid     rid
116    151     1

最佳答案

使用 split() 函数。您可以在 documentation 中阅读它(以及所有其他 Hive 函数)。

查询 :

select split("116:151:1", '\\:')[0] as gid
     , split("116:151:1", '\\:')[1] as sid
     , split("116:151:1", '\\:')[2] as rid
from database.table

输出 :
gid    sid    rid
116    151    1

您需要将“116:151:1”替换为表中列的名称。

10-07 23:46