Ответ 1
Если вы используете версию Hive 0.13.0 или выше, вы можете указать "skip.header.line.count" = "1" в свойствах таблицы, чтобы удалить заголовок.
Подробнее о патче см. ниже: https://issues.apache.org/jira/browse/HIVE-5795
Ниже приведена таблица hive:
CREATE EXTERNAL TABLE Activity (
column1 type, </br>
column2 type
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/exttable/';
В моем местоположении HDFS/exttable у меня много файлов CSV, и каждый CSV файл также содержит строку заголовка. Когда я делаю выборные запросы, результат также содержит строку заголовка.
Есть ли какой-либо способ в HIVE, где мы можем игнорировать строку заголовка или первую строку?
Если вы используете версию Hive 0.13.0 или выше, вы можете указать "skip.header.line.count" = "1" в свойствах таблицы, чтобы удалить заголовок.
Подробнее о патче см. ниже: https://issues.apache.org/jira/browse/HIVE-5795
теперь вы можете пропустить счетчик заголовков в hive 0.13.0.
tblproperties ("skip.header.line.count"="1");
код > Нет. Тем не менее, вы можете предварительно обработать файлы, чтобы пропустить первую строку перед загрузкой в HDFS -
tail -n +2 withfirstrow.csv > withoutfirstrow.csv
В качестве альтернативы вы можете построить его в том месте, где статья в HIVE игнорирует первую строку.
Если ваша версия hive не поддерживает tblproperties ( "skip.header.line.count" = "1" ), вы можете использовать ниже команду unix, чтобы игнорировать первую строку (заголовок столбца), а затем помещать ее в HDFS.
sed -n '2,$p' File_with_header.csv > File_with_No_header.csv
Чтобы удалить заголовок из файла csv, используйте:
sed -i 1d filename.csv