hive 向表中导入数据时忽略首行


问题

在使用load data inpathCSV文件导入到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时,原文件会被删除

  • 效果
    在这里插入图片描述


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM