Мост подключения Greenplum с Apache NiFi
Доступ и обработка данных Greenplum в Apache NiFi с помощью драйвера CData JDBC.
Apache NiFi поддерживает мощные и масштабируемые направленные графы логики маршрутизации, преобразования и посредничества данных в системе. В паре с драйвером CData JDBC Driver for Greenplum, NiFi может работать с живыми данными Greenplum. В этой статье lftncz дается подробное описание процесса подключения к данным Greenplum и их запроса из Apache NiFi Flow.
Благодаря встроенной оптимизированной обработке данных драйвер CData JDBC обеспечивает непревзойденную производительность при взаимодействии с живыми данными Greenplum. Когда вы отправляете сложные SQL-запросы к Greenplum, драйвер передает поддерживаемые SQL-операции, такие как фильтры и агрегации, непосредственно в Greenplum и использует встроенный SQL-движок для обработки неподдерживаемых операций на стороне клиента (часто это SQL-функции и операции JOIN). Встроенный динамический запрос метаданных позволяет работать с данными Greenplum и анализировать их, используя собственные типы данных.
Подключение к данным Greenplum в Apache NiFi
Скачайте программу установки CData JDBC Driver for Greenplum, распакуйте пакет, запустите .exe-файл для установки драйвера.
Скопируйте JAR-файл CData JDBC Driver (и файл лицензии, если он существует), cdata.jdbc.greenplum.jar (и cdata.jdbc.greenplum.lic), в подпапку Apache NiFi lib, например, C:\nifi-1.3.0-bin\nifi-1.3.0\lib.
В Windows местоположение драйвера CData JDBC по умолчанию - C:\Program Files\CData\CData\CData JDBC Driver for Greenplum.
Запустите Apache NiFi, запустив файл run-nifi.bat в подпапке bin, например, C:\nifi-1.3.0-bin\nifi-1.3.0\bin.
(ИЛИ)
С помощью командной строки перейдите в указанную директорию и запустите файл run-nifi.bat, например:
cd C:\nifi-1.3.0-bin\nifi-1.3.0\bin .\run-nifi.bat
Перейдите к пользовательскому интерфейсу Apache NiFi в веб-браузере: Это должно быть https://localhost:8443/nifi.
Примечание: Если пользователи используют более старую версию Apache NiFi, они должны получить доступ к ней через http://localhost:8080/nifi. В более ранних версиях использовался протокол HTTP. Однако в последней версии стандартом является HTTPS. По умолчанию HTTP работает через порт 8080, а HTTPS использует порт 8443.
При доступе к Apache NiFi через URL-адрес он предложит вам ввести имя пользователя и пароль для входа в систему.
Чтобы получить учетные данные для входа в систему, пользователям следует обратиться к файлу 'App.log', расположенному в каталоге журналов инсталляции NiFi. Этот файл обычно содержит необходимые данные для доступа к интерфейсу NiFi.
Щелкните правой кнопкой мыши на рабочей области Nifi Flow и выберите «Сontroller Services».
Нажмите кнопку + для того, чтобы создать новую службу контроллера.
В разделе Controller Services найдите только что созданный «DBCPConnection Pool» и нажмите на меню () >> Edit для того, чтобы настроить новое соединение.
Заполните свойства:
- URL подключения к базе данных: jdbc:greenplum:User=user;Password=admin;Database=dbname;Server=127.0.0.1;Port=5432;
- Имя класса драйвера базы данных: cdata.jdbc.greenplum.GreenplumDriver
- Расположение(ы) драйвера базы данных: Путь к папке lib вашего Apache NiFi, в которой находятся JAR-файлы.
Встроенный конструктор строк подключения
Чтобы получить помощь в создании URL-адреса JDBC, используйте конструктор строк подключения, встроенный в драйвер Greenplum JDBC Driver. Либо дважды щелкните JAR-файл, либо запустите JAR-файл из командной строки.
java -jar cdata.jdbc.greenplum.jar
Заполните свойства соединения и скопируйте строку соединения в буфер обмена.
Чтобы подключиться к Greenplum, задайте свойства соединения Server, Port (порт по умолчанию - 5432) и Database, а также задайте User и Password, которые вы хотите использовать для аутентификации на сервере. Если свойство Database не указано, будет использоваться база данных по умолчанию для аутентифицируемого пользователя.
В разделе Controller Services найдите только что созданный пул DBCPConnection Pool и нажмите меню () >> Enable, чтобы включить новое соединение.
В окне «Enable Controller Service» установите для параметра Scope значение «Service and referencing components».
Чтобы установить соединение и выполнить запрос select, просто перетащите процессор (выделен желтым цветом) в рабочую область.
Выберите процессор 'ExecuteSQL' и нажмите кнопку 'Add', чтобы сделать его видимым в рабочей области
Дважды щелкните на ExecuteSQL для того, чтобы открыть страницу подключения.
В разделе Properties заполните необходимую информацию. Убедитесь, что служба пула подключений к базе данных соответствует созданному вами пулу DBCPConnectionPool, и задайте нужный SQL-запрос, который вы хотите выполнить, в разделе SQL select query.
Перейдите в раздел Relationships и убедитесь, что выбрали вариант, как компонент должен действовать в случае успеха и неудачи процесса выполнения.
Вы можете включить компонент ExecuteSQL, либо выделив его и нажав Enable в разделе Operation, либо щелкнув правой кнопкой мыши и выбрав Enable.
Теперь Ваши данные Greenplum доступны для использования в Apache NiFi. Например, Вы можете использовать пул подключений DBCPC в качестве источника для процессора QueryDatabaseTable (показано ниже).


















