【发布时间】:2018-09-14 12:01:18
【问题描述】:
我创建了一个配置单元表,如下所示:
create table arraytbl (id string, model string, cost int, colors array <string>,size array <float>) row format delimited fields terminated by ',' collection items terminated by '#';
尝试使用以下保存在文件中的数据插入少量记录:
J8,Samsung_J8,12000,(red#blue#green),(8.9#10.4#9.9)
Y2,Redmi_Y2,8000,(violet),(1.5#3.5#1.9)
A1,Samsung_A1,17000,(yellow#white),(1.1#5.5#5.4)
S7,Honor_S7,10000,(shine#dull#new#blue#darkblue#raksha),(1.1#5.5#5.4)
XP,Sony_XP,17000,(bcd#efgh#ikkdla#pdia),(1.4#5.5#8.9#10.4#9.9#5.6)
X,iPhoneX,68000,(adadad),(1.4#5.5#8.9#10.4#9.9#5.8)
使用以下命令加载数据:
load data local inpath 'products.csv' into table arraytbl;
数据被加载到表中,选择 * 获取结果为:
J8 Samsung_J8 12000 ["(red","blue","green)"] [null,10.4,null]
Y2 Redmi_Y2 8000 ["(violet)"] [null,3.5,null]
A1 Samsung_A1 17000 ["(yellow","white)"] [null,5.5,null]
S7 Honor_S7 10000 ["(shine","dull","new","blue","darkblue","raksha)"] [null,5.5,null]
XP Sony_XP 17000 ["(bcd","efgh","ikkdla","pdia)"] [null,5.5,8.9,10.4,9.9,null]
X iPhoneX 68000 ["(adadad)"] [null,5.5,8.9,10.4,9.9,null]
问题是字段大小的不需要的“空”值,它是一个浮点数组。例如,对于第一行,字段的值应为 8.9,10.4,9.9。 而值为 null、10.4 和 null。所以数组中的第一个和最后一个元素正在获取空值。这对所有行都是一样的。
谁能告诉我我的查询或我使用的数据有什么问题?
【问题讨论】:
标签: hive