Hive -(Hue)将字符串从 1 个字符串拆分为多列
Hive - (Hue) Split string into multiple columns from 1 single string
我正在尝试将 l_ipaddress 列下方的字符串数据拆分为 "Get/HTTP/1.1"200 1000
在第 3 列。
原始数据在一栏中是这种形式
这是脚本:
SELECT SPLIT(tempweblog.l_ip,'\]'')[0] as l_ip,
SPLIT(tempweblog.l_ip,'\ " "')[1] as l_ipaddress,
SPLIT(tempweblog.l_ip,'\t')[2] as l_url
FROM web.tempweblog;
自从得到 space 后,我尝试了一些方法,例如输入 \s、" "。但它不起作用。
非常感谢任何帮助!
也许试试:
SELECT
SPLIT(tempweblog.l_ip,'\]')[0] as l_ip,
SPLIT(SPLIT(tempweblog.l_ip,'\]')[1], '"')[0] as l_ipaddress,
concat(SPLIT(SPLIT(tempweblog.l_ip,'\]'')[1], '"')[1],SPLIT(SPLIT(tempweblog.l_ip,'\]')[1], '"')[2]) as l_url
我正在尝试将 l_ipaddress 列下方的字符串数据拆分为 "Get/HTTP/1.1"200 1000 在第 3 列。
原始数据在一栏中是这种形式
这是脚本:
SELECT SPLIT(tempweblog.l_ip,'\]'')[0] as l_ip,
SPLIT(tempweblog.l_ip,'\ " "')[1] as l_ipaddress,
SPLIT(tempweblog.l_ip,'\t')[2] as l_url
FROM web.tempweblog;
自从得到 space 后,我尝试了一些方法,例如输入 \s、" "。但它不起作用。
非常感谢任何帮助!
也许试试:
SELECT
SPLIT(tempweblog.l_ip,'\]')[0] as l_ip,
SPLIT(SPLIT(tempweblog.l_ip,'\]')[1], '"')[0] as l_ipaddress,
concat(SPLIT(SPLIT(tempweblog.l_ip,'\]'')[1], '"')[1],SPLIT(SPLIT(tempweblog.l_ip,'\]')[1], '"')[2]) as l_url