#apache-spark #spark-streaming
#apache-spark #потоковая передача с использованием spark
Вопрос:
В разных контейнерах выполняются два задания потоковой передачи spark — давайте назовем их заданием учителя и заданием ученика. Оба читают из двух разных разделов kafka. Когда в задание Spark для учащихся приходит сообщение от ученика, мне нужно «запросить» сохраненные данные задания учителя, чтобы получить учителя, связанного с этим учеником (в этом примере у ученика только один учитель, но у учителя может быть много учеников). Как я могу сохранить пару ключ-значение (или фрейм данных учителя) в задании учителя, а затем получить / просмотреть этого учителя в задании ученика, чтобы я мог обработать этого ученика, зная, что это учитель? Могу ли я использовать persist () в одном задании и unpersist () в другом?
Комментарии:
1. Трудно следить за вашей прозой. Что такое потоковое, что статическое? Проблема с отношениями, откуда это берется, для потока или статического? Попробуйте реорганизовать вопрос с помощью примера, prose vs titie не синхронизированы, imho.
2. Поступают потоковые сообщения учащихся и учителей. Задание student получает потоковые сообщения student в режиме реального времени, а задание teacher получает потоковые сообщения в режиме реального времени, но они асинхронны друг от друга. В полезной нагрузке сообщения teacher указан один ученик. В полезной нагрузке student нет имени преподавателя, указанного в его полезной нагрузке. Мне нужно получить преподавателя для этого ученика — в контексте задания потоковой передачи Spark для учащихся.
3. Интересная концепция, которой я, кажется, не следую. Как объяснить сохраняемый фрейм данных. У вас могут быть потоковые соединения stream. docs.databricks.com/_static/notebooks/… Не было бы это более целесообразным?
4. Я рассмотрю это. У нас есть большая часть этой архитектуры, и мне было поручено разработать концепцию объединения ученика и преподавателя вместе в задании student. Я довольно новичок в spark и не знал, каковы мои варианты получения данных из другого задания spark. Я бы предпочел не создавать промежуточную базу данных только для этого поиска, если у spark есть механизм, позволяющий легко делать то, что мне нужно. Я добавил диаграмму, чтобы, возможно, помочь с разъяснением.
5. Интеграция Spark Kafka со структурированной потоковой передачей
Ответ №1:
Из доказательств следует, что структурированная потоковая передача Spark с интеграцией Kafka с использованием соединения Stream — Stream — это правильный путь.