加载没有引号的字符串数据到配置单元

xuo3flqw  于 2021-05-27  发布在  Hadoop
关注(0)|答案(0)|浏览(224)

我正在尝试将一些测试数据加载到一个简单的配置单元表中。数据以逗号分隔,但单个元素不包含在双引号中。我得到了一个错误,因为这个。我如何告诉hive不要期望varchar字段用引号括起来。手动将引号添加到varchar字段不是一个选项,因为我尝试使用的输入文件有数千条记录。下面是示例查询和数据。

create table mydatabase.flights(FlightDate varchar(10),Airline int,FlightNum int,Origin varchar(4),Destination varchar(4),Departure varchar(4),DepDelay double,Arrival varchar(4),ArrivalDelay double,Airtime double,Distance double) row format delimited;

insert into mydatabase.flights(FlightDate,Airline,FlightNum,Origin,Destination,Departure,DepDelay,Arrival,ArrivalDelay,Airtime,Distance)
values(2014-04-01,19805,1,JFK,LAX,0854,-6.00,1217,2.00,355.00,2475.00);

上面的insert查询给我一条错误消息。如果我用引号将varchar字段括起来,效果会很好。

Error while compiling statement: FAILED: ParseException line 11:11 mismatched input '-' expecting ) near '2014' in value row constructor

我使用以下查询加载数据

load data inpath '/user/alpsusa/hive/flights.csv' overwrite into table mydatabase.flights;

加载之后,我只看到加载的第一个字段。其余均为空。

样本数据

2014-04-01,19805,1,JFK,LAX,0854,-6.00,1217,2.00,355.00,2475.00
2014-04-01,19805,2,LAX,JFK,0944,14.00,1736,-29.00,269.00,2475.00
2014-04-01,19805,3,JFK,LAX,1224,-6.00,1614,39.00,371.00,2475.00
2014-04-01,19805,4,LAX,JFK,1240,25.00,2028,-27.00,264.00,2475.00
2014-04-01,19805,5,DFW,HNL,1300,-5.00,1650,15.00,510.00,3784.00

下面是descripe格式化的输出

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题