zoukankan      html  css  js  c++  java
  • 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时,原文件会被删除

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

  • 相关阅读:
    Java
    Java
    Java
    Java
    Java
    Hang Gliding线段树
    Biggest Number深搜
    2021年暑假康复性训练(Codeforces Round #731 (Div. 3))全题解
    Python GUI tkinter 随机生成题目
    ModuleNotFoundError: No module named ‘exceptions‘ 情况解决
  • 原文地址:https://www.cnblogs.com/gmhappy/p/13457016.html
Copyright © 2011-2022 走看看