Apache spark 每次事件的长时间运行的EMR群集与新群集

Apache spark 每次事件的长时间运行的EMR群集与新群集,apache-spark,amazon-emr,Apache Spark,Amazon Emr,我有一个在EMR集群上定期运行Spark作业(比如30分钟)的用例。决定每次运行是使用新群集还是使用长时间运行群集的因素有哪些 如果我们决定使用长时间运行的集群,那么扩展集群的可能策略是什么?我通常更喜欢独立的集群,因为这样可以在需要时更容易地调试和生成测试运行。但是,你需要计算一下在这两种情况下需要花费多少钱。稍后将更多节点添加到现有集群是很容易的,所以我不必担心这一点 需要知道的事情: 您将支付四舍五入到最近的一分钟 EMR集群启动大约需要10分钟,这是您需要付费的时间 您需要考虑的事项

我有一个在EMR集群上定期运行Spark作业(比如30分钟)的用例。决定每次运行是使用新群集还是使用长时间运行群集的因素有哪些


如果我们决定使用长时间运行的集群,那么扩展集群的可能策略是什么?

我通常更喜欢独立的集群,因为这样可以在需要时更容易地调试和生成测试运行。但是,你需要计算一下在这两种情况下需要花费多少钱。稍后将更多节点添加到现有集群是很容易的,所以我不必担心这一点

需要知道的事情:

  • 您将支付四舍五入到最近的一分钟
  • EMR集群启动大约需要10分钟,这是您需要付费的时间
您需要考虑的事项:

  • 你的工作实际运行需要多长时间
  • 10分钟延迟开始工作是否可以接受
  • 如果你的工作时间<20分钟:那么做独立集群会更便宜
  • 如果作业>30分钟:在持久集群上,下一个半小时的作业将不得不等待
  • 你想隔离你的跑步吗?如果运行单独的集群,当您读取日志进行调试时,就不必担心筛选出不同的作业
  • 如果您使用持久集群,您可以手动设置任何额外的依赖项,因为您只需要执行一次。在新集群上,您需要编写脚本
成本将取决于您为集群选择的EC2实例类型以及您决定拥有的节点数量。计算估算值的简单方法是使用AWS的成本计算器:

对于你来说,这取决于你的spark工作需要多长时间才能完成。您以一分钟为增量支付集群费用,因此如果您的作业只需要几分钟就可以运行,那么每次创建一个新集群的成本会更低。另一件要记住的事情是,启动EMR集群通常需要10分钟左右,这是你要支付的时间,所以即使你的工作只需要5分钟,你也会支付