这是我的示例数据集。
# cust_id, #cust_name, #odr_date,#shipdt,#Courer,#recvd_dt,#returned or not,#returned dt,#reson of return
GGYZ333519YS,Allison,01-01-2017,03-01-2017,Fedx,06-01-2017,**no**,null,null
GGYZ333519YS,Allison,08-01-2017,10-01-2017,Delhivery,13-01-2017,**yes**,15-01-2017,Damaged Item
并创建了表结构。
create table order
(
cust_id string,
cust_name string,
order_date date,
ship_date date,
courier_name string,
received_date date,
is_returned boolean,
returned_date date,
reason string
)
row format delimited
fields terminated by ','
lines terminated by '\n'
stored as textfile;
使用load命令将数据加载到order表中。日期字段和布尔字段为空。你知道吗?如何解决这个问题。
1条答案
按热度按时间9wbgstp71#
日期应采用兼容格式“yyyy-mm-dd”,以便正确插入到日期中。布尔值应该是(true,false)之一。
解决方案是将列定义为字符串,并在选择期间进行转换,或者在加载到表中之前转换输入数据。
这是在选择定义为字符串的if列时转换数据的方法: