将数据拆分为Hive中的多个列

van*_*anj 3 split hive

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

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

所需输出:

gid    sid     rid
116    151     1
Run Code Online (Sandbox Code Playgroud)

gob*_*s14 10

使用该split()功能.您可以在文档中阅读它(以及所有其他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
Run Code Online (Sandbox Code Playgroud)

输出:

gid    sid    rid
116    151    1
Run Code Online (Sandbox Code Playgroud)

您需要将"116:151:1"替换为表格中列的名称.