Hive 蜂巢结构图
我有一个样本数据如下 Id(字符串)、删除属性(字符串)Hive 蜂巢结构图,hive,hiveql,udf,Hive,Hiveql,Udf,我有一个样本数据如下 Id(字符串)、删除属性(字符串) ================ 1,foo.prop=foo值| bar.prop=bar值 2,foo2.prop=foo2值| bar2.prop=bar2值 这是我的dml (一) (三) (五) (六) 1{“:”,“:null,”:null} 你知道我做错了什么吗?你可以试试这个: str_to_map(delimproperties,'[|]','=') 您需要转义“|”字符,因为它在Java正则表达式中具有特殊意义,这里
================ 1,foo.prop=foo值| bar.prop=bar值
2,foo2.prop=foo2值| bar2.prop=bar2值 这是我的dml
(一) (三) (五) (六) 1{“:”,“:null,”:null} 你知道我做错了什么吗?你可以试试这个:
str_to_map(delimproperties,'[|]','=')
您需要转义
“|”
字符,因为它在Java正则表达式中具有特殊意义,这里的string.split(…)
使用它
这应该起作用:
insert into table final_data select Id,
str_to_map(delimproperties,'\\|','=')
from test_data;
有人知道为什么这不应该起作用吗?解释一下这为什么会起作用会有帮助
alter table final_data add columns (properties map<string,string>);
load data local inpath 'file:/c:/data/sample.csv' into table test_data;
insert into table final_data select Id,
str_to_map(delimproperties,'|','=')
from test_data;
Select * from final_data limit 1;
str_to_map(delimproperties,'[|]','=')
insert into table final_data select Id,
str_to_map(delimproperties,'\\|','=')
from test_data;