我有一个带有结构数组的csv文件,其中所有内容都由','分隔。在id字段之后,数据包含x、y和z坐标的三元组数组。
ID, X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3,...
1,1,2,3,4,5,6,7,8,9
2,4,5,6,7,8,9
3,10,11,12
4,15,16,17,18,19,20,25,26,27
我尝试使用下面的代码来创建配置单元表,如果我的字段、集合项和Map键用不同的字符定义,该表就可以工作了。但是,由于所有内容都用逗号分隔,因此失败。想知道这种情况是否有其他解决办法。
CREATE TABLE IF NOT EXISTS Hivetable (
ID INT,
XYZ array<STRUCT<X:DOUBLE, Y:DOUBLE, Z:DOUBLE>>
)
row format delimited
fields terminated by ','
collection items terminated by ','
map keys terminated by ','
stored as textfile
;
LOAD DATA local INPATH 'Path/datafile.csv' OVERWRITE INTO TABLE Hivetable;
1条答案
按热度按时间bd1hkmkf1#
scv文件输入应为:
表创建:
输出: