Как построить OLAP-конвейер в реальном времени на Greenplum и Apache NiFi: разбор интеграционного коннектора для приема больших данных

Автор Категория , , ,
Как построить OLAP-конвейер в реальном времени на Greenplum и Apache NiFi: разбор интеграционного коннектора для приема больших данных

Сегодня разберем еще одну интересную тему из нашего нового курса «Greenplum для инженеров данных» по построению конвейеров приема данных для этой MPP-СУБД в рамках веб-интерфейса платформы автоматизированного управления потоками работ Apache NiFi. Читайте далее, как устроен коннектор VMware Tanzu Greenplum для Apache NiFi и какие возможности он предоставляет дата-инженеру.

Что такое коннектор VMware Tanzu Greenplum для Apache NiFi

Прежде всего поясним, что из-за покупки корпорацией VMware в 2020 году компании Pivotal, которая была вендором Greenplum (GP) с 2012 года, теперь эта open-source MPP-СУБД коммерциализируется под торговой маркой VMware Tanzu Greenplum [1].

Коннектор VMware Tanzu Greenplum для Apache NiFi позволяет дата-инженеру быстро и просто создавать конвейеры приема данных для MPP-СУБД в рамках удобного веб-интерфейса НайФай без разработки кода. В частности, можно использовать встроенные процессоры НайФай для настройки конвейера данных с процессором PutGreenplumRecord Connector, который загружает ориентированные на запись данные в GP для последующей аналитики. Ключевыми возможностями, которые предоставляет коннектор VMware Tanzu Greenplum для Apache NiFi, являются следующие [2]:

  • drag-and-drop механизм веб-GUI NiFi для настройки компонентов и создания конвейера данных;
  • поддержка форматов входных данных CSV, Avro, Parquet, JSON и XML с помощью встроенных считывателей записей NiFi (Record Readers);
  • преобразование записей NiFi в кортежи Greenplum;
  • загрузка кортежей в базу данных Greenplum;

Коннектор для НайФай использует сервер потоковой передачи GP (Streaming Server) для параллельной загрузки данных в базу. Это обеспечивает повышенный параллелизм и высокую пропускную способность во время приема данных по сравнению с процессором NiFi на основе JDBC, а также снижает нагрузку на мастер-хост кластера Greenplum.

обучение NiFi, курсы Apache NiFi, обучение инженеров данных, курсы инженеров данных, Greenplum NiFi Интеграция, Greenplum NiFi для дата-инженера
Интеграция Greenplum с Apache NiFi: архитектура интеграционного коннектора

Разумеется, одного готового коннектора недостаточно, чтобы организовать прием данных из НайФай в GP: необходимо выполнить ряд шагов по настройке процессоров и контроллеров. Как это сделать, мы рассмотрим далее.

Apache NiFI для инженеров данных

Код курса
NFED
Ближайшая дата курса
27 января, 2022
Длительность обучения
16 ак.часов
Стоимость обучения
40 000 руб.

Как передать данные: строим конвейер потоковой передачи

Перед началом построения такого конвейера следует убедиться, что у вас есть доступ к работающему кластеру GP и работающему экземпляру Greenplum Streaming Server или привилегии, необходимые для его запуска. Для упрощения предположим, что все компоненты Big Data конвейера (Apache NiFi, СУБД и сервер потоковой передачи GP работают на одном хосте). Сам процесс построения потокового конвейера передачи данных из НайФай в Greenplum будет состоять из следующих шагов [3]:

  • подготовка среды: вход в клиент NiFi, создание рабочей директории, к которой есть доступ и запуск пользовательского интерфейса;
  • добавление и настройка процессора GetFile с указанием входной директории;
  • настройка службы контроллера GreenplumGPSSAdapter с заданием свойств Greenplum Streaming Server, портов, хостов и пользователей этой MPP-СУБД;
  • определение источника, формата и схемы входных данных в свойствах процессора GetFile;
  • настройка службы контроллера устройства чтения записей, чтобы указать схему данных и специфицировать первую строку файла в качестве заголовка;
  • добавление и настройка процессора PutGreenplumRecord, чтобы определить наименование схемы данных, таблицу, тип операции, действия с совпадающими и несовпадающими колонками, количество записей в пакете и поведение в случае ошибки передачи данных из NiFi в Greenplum;
  • подключение и запуск процессовров GetFile и PutGreenplumRecord с ранее определенными конфигурациями;
  • создание базы данных и таблицы GP, куда необходимо записать данных из потокового файла (FlowFile) Apache NiFi, если это не было сделано ранее;
  • запуск разработанного конвейера и проверка результатов.

Непосредственный пример потоковой передачи данных в CSV-формате из Apache NiFi в GP подробно представлен в официальной документации VMware Tanzu Greenplum [3]. Примеры других интеграций этой MPP-СУБД с фреймворками потоковых вычислений мы разбирали в статьях про коннекторы к Apache Kafka и Spark здесь и здесь. А пример обогащения потока данных информацией о характеристиках пользовательского устройства смотрите в нашей новой статье.

Greenplum для инженеров данных

Код курса
GPDE
Ближайшая дата курса
2 марта, 2022
Длительность обучения
24 ак.часов
Стоимость обучения
60 000 руб.

Узнайте больше совместное использование Greenplum и Apache NiFi для эффективного хранения и быстрой аналитики больших данных на авторских курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Источники

  1. https://en.wikipedia.org/wiki/Greenplum
  2. https://gpdb.docs.pivotal.io/connectors/apache-nifi/1-0/overview.html
  3. https://gpdb.docs.pivotal.io/connectors/apache-nifi/1-0/csv_example.html