Подтвердить что ты не робот

Пропустить первую строку csv при загрузке в таблицу улей

Привет друзья,

Я создал таблицу в улье с помощью следующей команды -

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;

Проблема в том, что все строки вставлены, и я не хочу первой строки, потому что она содержит только имена столбцов.

Пожалуйста, предложите мне пропустить первую строку.

Спасибо заранее.

4b9b3361

Ответ 1

Чтобы получить это, вы можете использовать свойство hive, которое TBLPROPERTIES ( "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"); 

Ответ 2

Просто для тех, кто уже создал таблицу с заголовком. Вот команда alter для того же.

ALTER TABLE tablename SET TBLPROPERTIES ("skip.header.line.count"="1");

Ответ 3

Только не смешивайте двойные кавычки и одинарные кавычки в одной команде 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.