Автор: Андрей Егоров

Snowflake Sink Connector для Apache Pulsar — ​​это простой способ объединить возможности обмена сообщениями Apache Pulsar с мощной аналитикой Snowflake путем автоматической и непрерывной загрузки сообщений из темы Pulsar в таблицу Snowflake.

Соединитель объединяет Snowflake Kafka Connector, созданный Snowflake, с приемником Kafka Connect Adapter (KCA) Apache Pulsar. Коннектор Snowflake Kafka обеспечивает доступ к коду, созданному и оптимизированному людьми, знакомыми с нюансами Snowflake. Это первый готовый к производству коннектор, созданный с помощью KCA Sink и требующий Datastax Luna Streaming 2.8 или Apache Pulsar 2.9.

Для начала скачайте Snowflake Sink Connector с GitHub.

Попробуем разъем

Теперь давайте посмотрим, как настроить коннектор и запустить его в локальной тестовой среде. Предположу, что используется MacOS, но все команды легко адаптировать под другие операционные системы.

1. Настройте Снежинку

Если у вас уже есть экземпляр Snowflake или вы только что подписались на пробную версию, вы можете получить к нему доступ, используя URL-адрес вида «tenant_id.snowflakecomputing.com». Запомните этот URL, он понадобится вам позже для настройки.

Во-первых, давайте создадим открытый и закрытый ключи для использования с коннектором:

Получите открытый ключ:

Получите закрытый ключ:

Далее мы создадим новую базу данных, выполнив шаги из Документации по Snowflake:

  1. Войдите в экземпляр Snowflake, который вы хотите использовать для теста, под учетной записью администратора.
  2. Перейдите к рабочим листам.
  3. Выполните следующие команды от имени пользователя с правами sysadmin и securityadmin. Не забудьте поставить галочку «[x] All Queries» в верхней части рабочего листа:

Примечание. Вам потребуется изменить ‘PASTE_PUBLIC_KEY_FROM_STEPS_ABOVE’в строке 42 фрагмента кода для вашей среды.

2. Подготовить конфиг для коннектора

Обратите внимание, что размеры пакетов, буферы, время ожидания и т. д. уменьшены, чтобы быстрее увидеть результат теста. Вы можете настроить их для использования в производстве.

Примечание. Вам потребуется изменить tenant_id в строке 17 и ‘PASTE_PUBLIC_KEY_FROM_STEPS_ABOVE’ в строке 19 для вашей среды.

Коннектор Snowflake Sink поддерживает все свойства конфигурации коннектора Snowflake Kafka.

3. Подготовьте тему Apache Pulsar

Запустите Apache Pulsar локально:

Установите сохранение для пространства имен:

Установить схему темы:

4. Скачайте и запустите коннектор

5. Отправляйте сообщения в Pulsar

Теперь тема содержит 200 сообщений с заданной схемой JSON. Вы можете просмотреть сообщения в теме с помощью следующей команды:

6. Проверьте сообщения в Snowflake

Войдите в свой экземпляр Snowflake как pulsar_connector_user_1 с паролем, заданным ранее на этапе настройки Snowflake.

Под настроенной БД и схемой должна появиться новая таблица:

Предварительно просмотрите данные, чтобы увидеть, что сообщения были приняты Snowflake:

Доставка всех сообщений может занять несколько минут.

Как видите, настроить и запустить коннектор несложно. Если у вас есть какие-либо вопросы о Pulsar или соединителе Snowflake, свяжитесь с DataStax для бесплатной консультации, и наша команда поможет вам в нужном направлении.

Подпишитесь на DataStax на Medium, чтобы получать эксклюзивные публикации обо всем, что связано с Pulsar, Cassandra, потоковой передачей, Kubernetes и многим другим. Чтобы присоединиться к оживленному сообществу разработчиков со всего мира и оставаться в курсе данных, подпишитесь на DataStaxDevs в Твиттере.

Ресурсы

  1. GitHub: Коннектор-снежинка
  2. GitHub: коннектор Snowflake Kafka Connect
  3. Упростите переход с Kafka на Pulsar с поддержкой Kafka Connect
  4. DataStax Luna Streaming — дистрибутив Apache Pulsar
  5. Коннектор Snowflake для Kafka — Документация Snowflake
  6. Установка и настройка коннектора Kafka — документация Snowflake
  7. Четыре причины, почему Apache Pulsar необходим для современного стека данных