pyspark - Spark Streaming 调度最佳实践
问题描述
我们有一个 Spark Streaming 作业,每 30 分钟运行一次,需要 15 秒才能完成。在这种情况下建议的最佳做法是什么。我想我可以安排 AWS 数据管道每 30 分钟运行一次,以便 EMR 在 15 秒后终止并重新创建。这是推荐的方法吗?
解决方案
对于需要15 seconds
在 EMR 上运行的作业是浪费时间和资源,您可能会等待几分钟让 EMR 集群启动。
AWS Data Pipeline 或 AWS Batch 仅在您有长时间运行的作业时才有意义。
首先,确保您确实需要 Spark,因为根据您的描述,这可能是一种矫枉过正。
具有 CloudWatch 事件调度的 Lambda 可能是您在无需管理基础设施的情况下完成如此快速的工作所需要的全部。