17

I am doing some pricing comparison between AWS Glue against AWS EMR so as to chose between EMR & Glue.

I have considered 6 DPUs (4 vCPUs + 16 GB Memory) with ETL Job running for 10 minutes for 30 days. Expected crawler requests is assumed to be 1 million above free tier and is calculated at $1 for the 1 million additional requests.

On EMR I have considered m3.xlarge for both EC2 & EMR (pricing at $0.266 & $0.070 respectively) with 6 nodes, running for 10 minutes for 30 days.

On calculating for a month, I see that AWS Glue works out to be around $14.64, whereas for EMR it works out to be around $10.08. I have not taken into account other additional expenses such as S3, RDS, Redshift, etc. & DEV Endpoint which is optional, since my objective is to compare ETL job price benefits

Looks like EMR is cheaper when compared to AWS Glue. Is the EMR pricing correct, can someone please suggest if anything missing? I have tried the AWS price calculator for EMR, but confused, and not clear if normalized hours are billed into it.

Regards

Yuva

4

4 回答 4

19

是的,EMR 确实比 Glue 便宜,这是因为 Glue 是无服务器的并且完全由 AWS 管理,因此用户不必担心在后台运行的基础设施,但 EMR 需要一个整体很多配置要设置。所以这是用户友好性和成本之间的权衡,对于更多的技术用户来说,EMR 可能是更好的选择。

于 2018-02-08T17:26:10.077 回答
3

@user2889316 - 你检查过我提供了比较数字的问题吗?

另请注意,一项工作的胶水大约是每小时 / DPU 0.44。我认为您不会有任何预计会全天运行的 AWS Glue JOB?您是在谈论 Glue Dev 端点还是 Job?

AWS Glue 作业至少需要 2 个 DPU 才能运行,这意味着每小时 0.88 个,我认为大约每天 21 美元?这仅适用于 GLUE 作业,还有 S3 等额外费用,以及任何数据库/连接费用/爬虫费用等。

EMR 的对应实例是 m3.xlarge,其费用为(定价分别为 0.266 美元和 0.070 美元)。对于每天 2 个实例,这大约低于 16 美元?加上其他 S3、数据库费用等。我正在考虑针对 AWS Glue 作业的默认 DPU 使用 2 个 EMR 实例。

希望这会给你一个想法。

谢谢

于 2018-09-09T10:22:35.430 回答
2

如果您的基础架构不需要大幅扩展(并且大多采用固定配置),请使用 EMR。但如果需要,Glue 是更好的选择,因为它是无服务器的。只需更改 DPU,您的基础架构就可以扩展。但是在 EMR 中,您必须决定集群类型、节点数量、自动扩展规则。对于每次更改,您都需要更改集群创建脚本、对其进行测试、部署 - 基本上会增加标准发布周期的开销以进行更改。随着基础设施配置的更改,您可能需要更改 spark 配置以相应地优化作业。因此,随着基础设施配置的变化,发布新版本的时间会更长。如果添加高配置启动,成本会更高。如果添加低配置启动,则需要频繁更改脚本。

话虽如此,AWS Glue 为每个 DPU 提供了固定的基础架构配置——例如每个内核 16GB 内存。如果您的 ETL 需要每个内核更多的内存,您可能必须转向 EMR。但是,如果您的 ETL 设计为使用 1 个执行程序时不会超过 11GB 驱动程序内存或使用 2 个执行程序时不会超过 5.5GB(例如,在新内核上并行获取额外的数据量或将卷分成 5gb/11gb 批量并运行在同一核心上循环),胶水是正确的选择。

如果您的 ETL 很复杂,并且所有工作都会让集群整天忙于工作,我建议您使用 EMR 和专门的 devops 团队来管理 EMR 基础设施。

于 2019-10-11T05:08:03.637 回答
2

如果您使用SpotEMR 实例而不是On-Demand它,它将花费 1/3 的按需价格,并且会便宜得多。AWS Glue没有那种定价优势。

于 2019-10-07T06:18:37.263 回答