Как использовать сообщения от Kafka с использованием потоковой передачи Structured-Spark в зависимости от времени окна (не сразу 10 минут) - PullRequest
0 голосов
/ 28 июня 2018

У нас был пакетный процесс для выполнения операции обновления / вставки с использованием S / Spark. Но теперь у нас есть вариант использования, чтобы сделать это более реальным Ниже приведены конфигурация и мой подход. Но это не работает.

  1. Кафка отказоустойчив для сообщений для всех сообщений JSON

  2. мы используем структурированную искровую потоковую передачу для потребления сообщений, а те сообщения, которые мы записываем в сегменты s3.

  3. Вышеупомянутые операции обновления / вставки стоят дорого.

  4. Сценарий заключается в том, что мы должны использовать эти сообщения Кафки с помощью структурированной потоковой передачи искры, но не сразу. Вопрос был в том, что опубликованные сообщения нам нужно собирать на основе окна, т.е. не сразу 10 минут.

  5. Другими словами, каждые 10 минут приложению для потоковой передачи искры необходимо принимать сообщения от Kafka и записывать их в сегменты s3.

  6. Я использовал операцию GROUP BY на базовом фрейме данных (после прочтения сообщения от Kafka) для создания другого фрейма данных (df2). Но этот фрейм данных (df2 - фрейм сгруппированных данных) не может использовать дальнейшую обработку.

Возможно ли это сделать с использованием потоковой передачи с искровой структурой?

1 Ответ

0 голосов
/ 15 апреля 2019

Вы должны прочитать о триггерах в Apache Spark Structured Streaming. Это поможет вам достичь того, что вы хотите сделать. При запуске вашего потока, т.е. stream.start(), просто установите эту конфигурацию триггера и укажите 10 минут.

Для получения справки по коду вы можете проверить следующий блог: Триггеры в структурированной потоковой передаче Apache Spark .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...