問題
在使用load data inpath
將CSV
文件導入到hive
表時,發現列頭被當做數據導入到hive
表中,如下圖:
原數據格式
hive建表語句
create table hive_movies
(
rank int,
src string,
name string,
box_office string,
avg_price int,
avg_people int,
begin_date string
) row format delimited fields terminated by ',';
導入數據
load data inpath '/input/movies.csv' overwrite into table hive_movies;
數據展示
解決方案
向表中load數據過濾首行
TBLPROPERTIES ('skip.header.line.count'='1')
-
已建表執行
alter table hive_movies set TBLPROPERTIES ('skip.header.line.count'='1');
-
新建表
create table hive_movies ( rank int, src string, name string, box_office string, avg_price int, avg_people int, begin_date string ) row format delimited fields terminated by ',' TBLPROPERTIES ('skip.header.line.count'='1');
-
重新執行數據導入
load data inpath '/input/movies.csv' overwrite into table hive_movies;
注:執行
load data inpath
時,原文件會被刪除
-
效果