从csv文件上传到hive表的空值

时间:2013-07-09 08:52:51

标签: hadoop hive

我是hadoop hive的新手。我们正在使用开源hadoop蜂巢。它安装在ubuntu单节点集群上。我在csv文件中有100万行数据,我把它从windows移到linux。使用foolwing命令将数据上传到配置单元时,空值将上传到表中。

LOAD DATA INPATH '/home/goldstone/Desktop/RejectStats.csv' 
OVERWRITE INTO TABLE rejstats;

我甚至尝试通过添加文件hdfs来上传值,但是仍然存在同样的问题。

我的表格结构如下:

CREATE TABLE rejstats( amount_requested INT , appdate TIMESTAMP , loan_title STRING , dbt_income_ratio FLOAT , city STRING , state STRING , employment_lenght STRING)
ROW FORMAT
DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;

我附上了返回的空值的屏幕截图。

请有人帮我解决这个问题。谢谢。

此致 迪夫亚。

1 个答案:

答案 0 :(得分:7)

我认为您正在尝试在使用FIELDS TERMINATED BY '\t'即表格的表格中输入逗号分隔文件。请尝试以下方法:

CREATE TABLE rejstats (amount_requested INT , appdate TIMESTAMP , 
loan_title STRING , dbt_income_ratio FLOAT , city STRING , 
state STRING , employment_lenght STRING) ROW FORMAT DELIMITED FIELDS 
TERMINATED BY ',' STORED AS TEXTFILE;

LOAD DATA INPATH '/home/goldstone/Desktop/RejectStats.csv' 
OVERWRITE INTO TABLE rejstats;