Nifi PutHiveStreaming записывает данные в HDFS, но не может видеть данные в таблице Hive

  1. Я использую HDF Nifi 1.5 и Hdp Hive 3.1.

  2. Создайте разделенную и сегментированную таблицу в Hive:

СОЗДАТЬ ТАБЛИЦУ default.client_tbl (client_key int, clt_name varchar (45), clt_description varchar (200), version int), разделенный на (clt_status varchar (8)) КЛАСТЕРИРОВАН ПО (client_key) В 3 ВЕДРА, СОХРАНЕННЫХ КАК ORC TBLPROPERTIES ('transactional' = 'правда');

  1. Используемый ExecuteSQL -> PutHiveStreaming

Журнал Nifi показывает данные, записанные в путь HDFS, но я не могу просматривать данные в таблице Hive.

Пожалуйста, найдите прикрепленный файл nifi-app.log.

введите описание изображения здесь


person Karthik Mannava    schedule 30.10.2018    source источник


Ответы (1)


Если вы используете HDP Hive 3.1, вам понадобится PutHive3Streaming, а не PutHiveStreaming. Первый предназначен для Hive 3, второй - для Hive 1.2.x.

При этом компоненты Hive 3 доступны начиная с NiFi 1.7.0+. Также, если вы используете дистрибутив Apache NiFi, он не включает Hive 3 NAR по умолчанию (из-за его размера). Вам придется собрать его самостоятельно или использовать тот, который построен для HDF (для использования против HDP Hive 3), вы можете получить версию HDF 3.2 (NiFi 1.7.0) version здесь.

person mattyb    schedule 30.10.2018
comment
Большое спасибо, Мэтти, с помощью HDF 3.2 я могу решить свою проблему. - person Karthik Mannava; 30.10.2018
comment
У меня такая же проблема с HDF Nifi 1.9 и HDP Hive 3.1.1. Нужно ли мне также скачивать отдельный файл NAR? - person Paul Bendevis; 06.08.2019
comment
HDF 3.4 (на основе Apache NiFi 1.9) уже должен содержать Hive 3 NAR. Если вы используете Apache NiFi 1.9, вы можете собрать его самостоятельно или попробовать версию HDF 3.4 здесь: repo.hortonworks.com/content/repositories/releases / org / apache / - person mattyb; 08.08.2019