我正在寻找一个将数组数据解析为表格形式的HIVE UDF。 如果HIVE中没有任何内容,那么PIG的例子将会受到赞赏。
输入采用以下格式:
日期时间戳key1 =“val1”key2 =“val2”key3 =“val3”年月日
日期时间戳key1 =“val4”key2 =“val5”key3 =“val6”年月日
希望结果是一个表,其中列名是关键字,结果是值。如:
结果:
column_name key1 key2 key3
结果val1 val2 val3
val4 val5 val6
答案 0 :(得分:0)
根据我对您的问题的理解,我指的是一个解决方案。
首先在配置单元中创建一个表。
create table example1(dates string,timestamps string,key1 map<string,string>,key2 map<string,string>,key3 map<string,string>,year int, month string,day string) row format delimited fields terminated by ' ' map keys terminated by '=';
创建另一个类似
的表create table example2(key1 string,key2 string,key3 string)
将数据插入第一个表的第二个表
insert into table example2 select key1["key1"],key2["key2"],key3["key3"] from example1;
输出:
从example2中选择*;
"val1" "val2" "val3"
"val4" "val5" "val6"
在此,我并不专注于数据类型。