С помощью этого руководства вы научитесь обрабатывать данные из Managed Kafka с помощью задачи Managed Flink.
Вы будете использовать следующие сервисы:
Managed Flink — сервис, который позволяет преобразовывать и анализировать потоковые данные в реальном времени.
Managed Kafka — сервис для развертывания и управления кластерами Apache Kafka®.
Шаги:
Зарегистрируйтесь в личном кабинете Cloud.ru.
Если вы уже зарегистрированы, войдите под своей учетной записью.
Создайте бакет Object Storage с названием labs.
Создайте кластер Data Platform, в котором будет размещен инстанс.
Скачайте и установите root-сертификат на устройство.
В Managed Kafka создайте топики input_lab1_agg и output_lab1_agg.
Создайте секрет с логином и паролем от Managed Kafka в формате JSON:
{"user": "<admin_login>""password": "<admin_password>"}
Создайте инстанс Managed Flink.
На шаге Общие параметры:
В поле Бакет выберите labs.
Активируйте опцию Добавить секрет и выберите тот, в котором сохранены логин и пароль от Managed Kafka.
Выберите Подсеть, в которой расположен кластер Managed Kafka.
Сохраните скрипт агрегации данных из потока.
В параметре properties.bootstrap.servers измените значение <your_kafka_ip> на внутренний IP кластера Managed Kafka вида 10.0.0.0:1234. Параметр встречается два раза. Измените значение в каждом.
Загрузите скрипт flink-kafka-stream в бакет Object Storage labs.
На этом шаге вы загрузите данные в Kafka для имитации потока данных.
Добавьте сообщения:
Должно получиться девять сообщений в топике input_lab1_agg.
На этом шаге вы запустите задачу.
Создайте задачу, заполнив поля:
Тип запускаемой задачи — Python.
Путь к запускаемому файлу — выберите скрипт flink-kafka-stream.
Остальные поля заполните на свое усмотрение.
Нажмите Создать.
Дождитесь, когда задача перейдет в статус «Выполняется».
На этом шаге вы проверите результат выполнения задачи Managed Flink.
Чтобы посмотреть отправленные сообщения, запустите команду в отдельном терминале:
kcat -C \-b <внутренний_IP_брокера>:<порт_брокера> \-t <имя_топика> \-X security.protocol=SASL_PLAINTEXT \-X sasl.mechanism=SCRAM-SHA-512 \-X sasl.username="<логин_пользователя>" \-X sasl.password="<пароль_пользователя>" \-f 'Key: %k\nValue: %s\n'
В ответе вернутся сообщения с полем window_end, в котором находится значение закрытия временного окна:
{"type": "temperature","window_indications": 15.5666666668,"indications_type": "celsius""window_end": "2026-01-01 12:00:00"}
Чтобы проверить обработку данных в реальном времени, отправьте новые данные в топик input_lab1_agg.
Проверьте сообщения.
В ответе появятся новые сообщения с другим временем в поле window_end.
Вы запустили задачу Managed Flink по обработке потоков данных из Managed Kafka.