gpt4 book ai didi

apache-spark - 使用 Airflow 运行 Spark 流作业吗?

转载 作者:行者123 更新时间:2023-12-04 19:26:27 25 4
gpt4 key购买 nike

我们在hadoop集群中有Spark Ba​​tch作业和Spark Streaming作业。

我们希望在同一平台上计划和管理它们。

我们遇到了 Airflow ,这符合我们的需求
“创建,计划和监视工作流的平台”。

我只希望能够停止和启动Spark Streaming工作。使用 Airflow 图和剖析问题不大。

我的问题是
除了失去一些功能(图形,配置文件)之外,我为什么不应该使用Airflow运行Spark Streaming作业?

我碰到了这个问题:
Can airflow be used to run a never ending task?

这说可能,而不是为什么不应该。

最佳答案

@mMorozonv看起来不错。如果不存在,则可以让一个DAG启动流。然后使用第二个DAG作为运行状况检查器来跟踪其进度。如果运行状况检查失败,则可以再次触发第一个DAG。

或者,您可以以trigger [1]的once间隔运行流。

# 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")

这为您提供了 Spark 流式传输的所有相同优势,并且具有批处理的灵活性。

您可以简单地将流指向您的数据,此作业将检测自上次迭代以来的所有新文件(使用检查点),运行流式批处理,然后终止。您可以触发 Airflow DAG的计划,以适应您希望在任何时候(每分钟,每小时等)处理数据的任何滞后。

对于低延迟要求,我不建议这样做,但它非常适合每分钟运行。

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

关于apache-spark - 使用 Airflow 运行 Spark 流作业吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54785519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com