Пропустить первую строку 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;
Проблема в том, что все строки вставлены, и я не хочу первой строки, потому что она содержит только имена столбцов.
Пожалуйста, предложите мне пропустить первую строку.
Спасибо заранее.
Ответы
Ответ 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
.