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

Hive Внешний стол-CSV-строка заголовка

Ниже приведена таблица hive:

CREATE EXTERNAL TABLE Activity (
  column1 type, </br>
  column2 type
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/exttable/';

В моем местоположении HDFS/exttable у меня много файлов CSV, и каждый CSV файл также содержит строку заголовка. Когда я делаю выборные запросы, результат также содержит строку заголовка.

Есть ли какой-либо способ в HIVE, где мы можем игнорировать строку заголовка или первую строку?

4b9b3361

Ответ 1

Если вы используете версию Hive 0.13.0 или выше, вы можете указать "skip.header.line.count" = "1" в свойствах таблицы, чтобы удалить заголовок.

Подробнее о патче см. ниже: https://issues.apache.org/jira/browse/HIVE-5795

Ответ 2

теперь вы можете пропустить счетчик заголовков в hive 0.13.0.


tblproperties ("skip.header.line.count"="1");
код >

Ответ 3

Нет. Тем не менее, вы можете предварительно обработать файлы, чтобы пропустить первую строку перед загрузкой в ​​HDFS -

tail -n +2 withfirstrow.csv > withoutfirstrow.csv

В качестве альтернативы вы можете построить его в том месте, где статья в HIVE игнорирует первую строку.

Ответ 4

Если ваша версия hive не поддерживает tblproperties ( "skip.header.line.count" = "1" ), вы можете использовать ниже команду unix, чтобы игнорировать первую строку (заголовок столбца), а затем помещать ее в HDFS.

 sed -n '2,$p' File_with_header.csv > File_with_No_header.csv

Ответ 5

Чтобы удалить заголовок из файла csv, используйте:

sed -i 1d filename.csv