Проблема с именами столбцов импорта Sqoop

У меня вопрос о Кайло и Нифи. Используемая версия Kylo: 0.10.1 Используемая версия Nifi: 1.6.0

Когда мы создаем канал для загрузки базы данных (используя базу данных в качестве источника), на этапе «Дополнительные параметры» нет возможности вводить имена столбцов исходной таблицы.

Однако на стороне Nifi мы используем процессор Import Sqoop, который имеет обязательное поле под названием Исходные поля и требует ввода столбцов, разделенных запятыми. Если этого не сделать, получим ошибку:

Инструмент ERROR.ImportTool: Ошибка импорта: мы нашли столбец без имени столбца. Убедитесь, что вы ввели все имена столбцов в свой запрос, если используете импорт запросов произвольной формы (рассмотрите возможность добавления предложения AS, если вы используете преобразование столбцов)

Для нашего требования мы хотим, чтобы Import Sqoop автоматически переносил все столбцы из таблицы в это свойство без ручного вмешательства на уровне Nifi. Есть ли возможность автоматически включить все столбцы таблицы базы данных в фоновом режиме? Или есть другая возможность задать это значение в процессоре UpdateAttribute?


person Aparajitha    schedule 15.02.2020    source источник
comment
я не вижу ни одного процессора Sqoop, можете ли вы дать ссылку на точный процессор?   -  person maxime G    schedule 16.02.2020
comment
Мы используем процессор ImportSqoop.   -  person Aparajitha    schedule 16.02.2020


Ответы (1)


Как упоминалось в комментариях, ImportSqoop не является обычным процессором Nifi. Это не обязательно должно быть проблемой, но будет означать, что, вероятно, невозможно устранить проблему без участия создателя.

Кроме того, хотя я все еще обсуждаю, является ли Nifi на Sqoop антипаттерном, это, конечно, не обязательно. Пожалуйста, сначала ознакомьтесь со стандартными опциями:

  1. Стандартный способ получить данные в Nifi из таблиц — использовать стандартные процессоры, такие как ExecuteSQL.
  2. Если этого недостаточно, стандартный способ использования Sqoop (пакетный инструмент) — это пакетный планировщик, такой как Oozie или Airflow.

Эта ветка может развеять дальнейшие сомнения по пункту 1: http://apache-nifi.1125220.n5.nabble.com/Sqoop-Support-in-NIFI-td5653.html

person Dennis Jaheruddin    schedule 02.07.2020