对于Spark,EMR相比EC2还有什么优势吗?

时间:2016-11-03 20:48:51

标签: python-3.x apache-spark amazon-ec2

我知道之前已经问过这个问题,但这些答案似乎围绕着Hadoop。对于Spark,你并不需要所有额外的Hadoop cruft。使用spark-ec2脚本(可通过GitHub for 2.0获得),您的环境已准备好用于Spark。是否有任何令人信服的用例(除了远远优于boto3 sdk接口)与EC2上的EMR一起运行?

1 个答案:

答案 0 :(得分:3)

这个问题归结为托管服务的价值,恕我直言。

在本地模式下独立运行Spark只需要获取最新的Spark,解压缩,cd到bin路径然后运行spark-submit等等

但是,创建以群集模式运行的多节点群集需要您实际进行真正的网络连接,配置,调整等。这意味着您必须处理IAM角色,安全组以及子网注意事项在您的VPC中。

当您使用EMR时,您将获得一个交钥匙群集,您可以在其中单击安装许多流行的应用程序(包括火花),并且已经为节点之间的网络通信正确配置了所有安全组,您已经记录了已经设置并指向S3,你有简单的SSH指令,你已经安装了一个隧道和查看各种UI的设备,你有IO级别,节点级别和作业提交的可视化使用指标level,您还可以创建和运行Steps - 这些作业可以在驱动器节点的命令行中运行,也可以作为利用整个集群的Spark应用程序运行。然后,最重要的是,您可以导出整个群集,包括的步骤,并通过DataPipeline将CLI脚本复制粘贴到定期作业中,并在60秒内完全创建ETL管道。

如果你自己在EC2中构建它,你就不会得到任何一个。我知道我会选择哪一个...... EMR。但那只是我。