HIVE - "skip.footer.line.count" не работает в Impala - PullRequest
0 голосов
/ 03 декабря 2018

У меня плоские файлы доставляются в hdfs.Общая структура файлов выглядит следующим образом:

<header - 2 rows>
 <data>
<footer - 1 row>

У меня есть внешняя таблица кустов, построенная поверх этого набора данных.Ниже мой улей ddl:

create external table ext_test
(
  id string,
  name string, 
  age string
) row format DELIMITED FIELDS TERMINATED BY ','
  STORED AS TEXTFILE
  LOCATION '<hdfs file location>'
  TBLPROPERTIES ('skip.footer.line.count'='1', 'skip.header.line.count'='2')

Когда я запрашиваю select * from ext_test в HIVE;я получаю точное количество строк, как и ожидалось из внешней таблицы.Но когда я выполняю точно такой же запрос в IMPALA, я получаю еще одну строку, которая в основном является свойством нижнего колонтитула.

например: Пример ниже прояснит сценарий:

Пример данных в ленте:

Header,Sample-03122018,
ID,NAME,AGE
1,R,10
2,RR,11
3,RRR,12
Footer,End of Report,

Вывод при запуске команды выбора в HIVE с использованием вышеуказанного DDL [Ожидаемый вывод] :

1,R,10
2,RR,11
3,RRR,12

Вывод, когда я запускаю команду выбора в IMPALA с использованием вышеуказанного DDL: [Issue]

1,R,10
2,RR,11
3,RRR,12
Footer,End of Report,Null

Сталкивались ли вы с подобной проблемой?Если да, пожалуйста, посоветуйте мне подходящее решение.

1 Ответ

0 голосов
/ 03 декабря 2018

Эта функция еще не реализована в Impala, см. Jira IMPALA-7196 .

Impala не распознает skip.footer.line.count, поэтому она фактически игнорируется.

Временное решение: выполнить запрос с использованием фильтра WHERE ID <> 'Footer' или вырезать нижние колонтитулы файлов перед загрузкой файлов в каталог таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...