我是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;
我附上了返回的空值的屏幕截图。
请有人帮我解决这个问题。谢谢。
此致 迪夫亚。
答案 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;