Hadoop 在配置单元表中加载时跳过csv的第一行

Hadoop 在配置单元表中加载时跳过csv的第一行,hadoop,hive,hiveql,Hadoop,Hive,Hiveql,朋友们好, 我使用以下命令在配置单元中创建了表- CREATE TABLE db.test ( fname STRING, lname STRING, age STRING, mob BIGINT ) row format delimited fields terminated BY '\t' stored AS textfile; 现在要从文件中加载表中的数据,我使用以下命令- load data local inpath

朋友们好,

我使用以下命令在配置单元中创建了表-

CREATE TABLE db.test 
  ( 
     fname STRING, 
     lname STRING, 
     age   STRING, 
     mob   BIGINT 
  ) row format delimited fields terminated BY '\t' stored AS textfile; 
现在要从文件中加载表中的数据,我使用以下命令-

load data local inpath '/home/cluster/TestHive.csv' into table db.test;
问题是,所有的行都被插入,我不想要第一行,因为它只包含列名

请给我一个跳过第一行的方法


提前感谢。

要获得此信息,您可以使用hive的属性TBLProperty(“skip.header.line.count”=“1”)
您也可以参考示例-

CREATE TABLE temp 
  ( 
     name STRING, 
     id   INT 
  ) 
row format delimited fields terminated BY '\t' lines terminated BY '\n' 
tblproperties("skip.header.line.count"="1"); 

仅适用于已创建带有标题的表的用户。下面是同样的alter命令


ALTER TABLE tablename SET tblproperty(“skip.header.line.count”=“1”)

只是不要在同一CLI命令中混合使用双引号和单引号:

CREATE TABLE db.test 
  ( 
     fname STRING, 
     lname STRING, 
     age   STRING, 
     mob   BIGINT 
  ) row format delimited fields terminated BY '\t' tblproperties('skip.header.line.count'='1') stored AS textfile; 

否则,配置单元加载
NULL
值。

看起来像是在配置单元上工作的一个可能的副本,但不是在Impala上。您在配置单元中创建了表并从Impala访问了吗?否,我直接在Impala外壳上使用了
CREATE table
语句和
tblproperty
。我没有在Hive中尝试该语句,然后从Impala访问同一个表。