Использование воздушного потока для выполнения работ по потоковой передаче искр - PullRequest
0 голосов
/ 20 февраля 2019

В нашем кластере hadoop есть задания Spark Batch и потоковые задания Spark.

Мы хотели бы запланировать и управлять ими на одной платформе.

Мы столкнулись с потоком воздуха, который соответствует нашей потребности в «платформе для создания, планирования и мониторинга рабочих процессов».

Я просто хочу иметь возможность остановить и запустить работу с потоковым воспроизведением.Использование графиков воздушного потока и профилирование не является проблемой.

Мой вопрос: Помимо потери некоторых функций (графиков, профилирования), почему я не должен использовать Airflow для запуска заданий потоковой передачи?

Я сталкивался с таким вопросом: Можно ли использовать поток воздуха для выполнения бесконечной задачи?

, в которой говорится, что это возможно, а не почему не следует.

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

@ mMorozonv's Выглядит хорошо.У вас может быть один DAG, запускающий поток, если он не существует.Затем второй DAG для проверки работоспособности.Если проверка работоспособности не пройдена, вы можете запустить первый DAG снова.

В качестве альтернативы вы можете запустить поток с интервалом trigger, равным once [1].

# Load your Streaming DataFrame
sdf = spark.readStream.load(path="data/", format="json", schema=my_schema)
# Perform transformations and then write…
sdf.writeStream.trigger(once=True).start(path="/out/path", format="parquet")

Это даетВы все те же преимущества потоковой передачи искры, с гибкостью пакетной обработки.

Вы можете просто направить поток на ваши данные, и это задание обнаружит все новые файлы со времени последней итерации (с помощью контрольной точки), запуститепотоковая партия, а затем прекратить.Вы можете запускать расписание вашей группы DAG для воздушных потоков в соответствии с любой задержкой, с которой вы хотите обрабатывать данные (каждую минуту, час и т. Д.).

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

[1] https://databricks.com/blog/2017/05/22/running-streaming-jobs-day-10x-cost-savings.html

0 голосов
/ 25 июня 2019

Нет строгих причин, по которым вам не следует использовать Airflow для запуска задания Spark Streaming.Фактически вы можете контролировать свой процесс, периодически регистрируя некоторые показатели с помощью

LOG.info(query.lastProgress)
LOG.info(query.status)

и просматривая их в журнале задач

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