小编Abh*_*ury的帖子

如何在 Hive 中使用数据类型为 array<map<string, string>> 的列创建表

我正在尝试创建一个具有复杂数据类型的表。下面列出了数据类型。

  1. 大批

  2. 地图

  3. 数组<映射<字符串,字符串>>

我正在尝试创建 3 类型的数据结构。是否有可能在 Hive 中创建?我的表 DDL 如下所示。

create table complexTest(names array<String>,infoMap map<String,String>, deatils array<map<String,String>>)           
row format delimited                                                                                       
fields terminated by '/'                                                                                   
collection items terminated by '|'                                                                         
map keys terminated by '='                                                                                 
lines terminated by '\n';
Run Code Online (Sandbox Code Playgroud)

我的示例数据如下所示。

Abhieet|Test|Complex/Name=abhi|age=31|Sex=male/Name=Test,age=30,Sex=male|Name=Complex,age=30,Sex=female
Run Code Online (Sandbox Code Playgroud)

无论我从表中查询数据,我都会得到以下值

["Abhieet"," Test"," Complex"]  {"Name":"abhi","age":"31","Sex":"male"} [{"Name":null,"Test,age":null,"31,Sex":null,"male":null},{"Name":null,"Complex,age":null,"30,Sex":null,"female":null}]
Run Code Online (Sandbox Code Playgroud)

这不是我所期待的。如果数据类型可能,请帮我找出应该是什么 DDLarray< map < String,String>>

arrays dictionary hive

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

arrays ×1

dictionary ×1

hive ×1