我们很高兴地宣布,正式推出Amazon EMR Serverless,这是 Amazon EMR 中的一个新的无服务器部署选项,借助它,数据工程师和分析师能够轻松、经济高效地在云中运行 PB 级数据分析。
客户可以使用 Apache Spark 和 Hive 等开源框架运行大数据分析应用程序,而无需配置、管理和扩展集群或服务器。
EMR Serverless 会自动预置和扩展应用程序所需的计算与内存资源,并且您只需为应用程序使用的资源付费。
EMR Serverless 概述
在大数据分析场景下,工程师通过优化集群配置来获得最优性价比,但这要求工程师深入了解底层分析框架。
此外,以最佳方式运行应用程序所需的特定计算和内存资源取决于各种因素,例如,数据处理作业的时间表和复杂性以及正在处理的数据量。当这些特征随时间变化时,您需要重新评估和重新配置集群。
此外,管理员必须保护和监控集群,以确保它们符合企业安全策略。许多客户不需要这种级别的自定义和控制,他们希望以更简单的方式,使用开源框架和 Amazon EMR 性能优化运行时来处理数据。
Amazon EMR 提供各种部署选项来运行应用程序以满足各种需求,例如 EMR on Amazon EC2、EMR on Amazon EKS 集群、EMR on Amazon Outposts 以及 EMR Serverless选项。
借助Amazon EMR Serverless,您可以运行任何规模的分析工作负载,可在几秒钟内实现自动扩缩,基于不断变化的数据量和处理要求来调整资源。为您的应用程序提供恰到好处的容量,您只需为使用量付费。
Amazon EMR Serverless 具有成本效益,因为它们不会因必须过度配置资源来应对需求高峰而产生成本。他们不必担心调整实例大小或应用操作系统更新,而可以专注于更快地将产品推向市场。
借助 EMR Serverless,您可以获得在无服务器环境中运行 Amazon EMR 的所有好处。我们在构建 EMR Serverless 时考虑了以下目标:
1.提供更简单的体验 :
EMR Serverless 易于使用,因为您无需配置、优化、操作或保护集群。您不必担心实例类型或集群大小,也不必担心应用操作系统更新。
您只需指定要用于应用程序的框架和版本,然后提交数据处理作业即可。且仍然可以拥有 Amazon EMR 所有优势(开源兼容性、开源版本性能优化的运行时)。
2.无需猜测集群大小 :
通过 EMR Serverless,无需针对不同的作业和数据大小调整集群大小。借助 EMR Serverless,您可以使用开源框架版本创建应用程序,然后向应用程序提交作业。
3.保留 Amazon EMR 性能优化的运行时和开源开放性 :
EMR Serverless 包括适用于 Apache Spark和Hive的 Amazon EMR 性能优化运行时。Amazon EMR 运行时兼容 API,速度是标准开源的两倍多,因此,您的作业运行速度更快,计算成本更低。
4.与 EMR Studio 无缝集成 :
EMR Serverless 包括 EMR Studio,它提供完全托管式无服务器 Jupyter 笔记本和熟悉的开源工具(例如 Spark UI 和 Tez UI),帮助您开发、可视化和调试应用程序。
5.自动细粒度扩缩 :
EMR Serverless 在处理作业的每个阶段自动纵向扩展工作线程,并在不需要时缩减工作线程。您需要为从工作线程开始运行到停止期间使用的总计 vCPU、内存和存储资源付费。
6.应对可用区故障的弹性 :
EMR Serverless 是一项区域性服务。当您向 EMR Serverless 应用程序提交作业时,该应用程序可以在区域的任何可用区中运行。作业在单个可用区中运行,以免跨可用区的网络流量对性能造成影响。如果可用区受损,则提交给您的 EMR Serverless 应用程序的作业将自动在另一个(运行状况良好)可用区中运行。
7.启用共享应用程序 :
向 EMR Serverless 应用程序提交作业时,您可以指定该作业必须使用的 Amazon Identity and Access Management (IAM) 角色,单个应用程序可供多个租户使用,其中每个租户可以使用不同的 IAM 角色提交作业,使用公共池立即处理请求。
8.启用交互式应用程序 :
允许数据科学家和分析师运行 SQL 查询和脚本以进行数据探索的交互式应用程序需要对用户请求快速响应。
9.轻松地从一种部署模式切换到另一种部署模式 :
当您使用 Amazon EMR构建应用程序时,可以选择在 EMR on EC2、 EMR on EKS 或 EMR Serverless 上运行该应用程序,而无需改写代码。这使您能够为给定的框架版本构建应用程序,并保留灵活性,以便根据未来运营需求更改部署模式。
常见使用场景
现在,我们来看看一些常见的适合EMR Serverless的场景:
1
具备弹性伸缩能力的数据管道
数据管道是分析工作负载的支柱。数据管道的常见模式是启动集群、运行作业并在作业完成时停止集群。由于数据与计算分开,因此,每个作业的输入和输出将与集群分开保存(例如,在 Amazon S3中)。这些步骤通常使用 Apache Airflow 等工作流程编排应用程序来自动执行。
尽管自动执行这些步骤并不复杂,但数据工程师必须花时间确定合适的集群大小。他们必须确定运行集群的可用区,并处理故障转移。他们在采用操作系统更新时,必须测试其应用程序。
当数据大小随时间变化时,他们必须调整集群的大小,或使用诸如 Amazon EMR 托管扩缩之类的功能来自动调整集群大小。
EMR Serverless 提供了更简单的数据管道解决方案,让您无需处理这些场景。您只需为应用程序选择开源框架和版本,然后提交作业即可。您不必担心实例选择、集群大小、集群启动、集群大小调整、停止节点、可用区故障转移或操作系统更新等问题。
2
多团队共享的大数据分析集群
另一个常见模式是团队使用长时间运行的共享集群来运行多个作业。使用 EMR Serverless,在需要时为每个作业分配工作线程,这样您的作业就可以获得所需的资源。
此外,由于您只需为作业所需的工作线程付费,因此,不会因过度预置的资源而产生成本,也不必设置复杂的配置来管理队列和权限。
3
交互式大数据分析 和 不可预测的
工作负载
多团队协作的交互式分析。首先,指定在启动 EMR Serverless 应用程序时要预初始化的工作线程数量。随后,当用户提交请求时,可以使用预初始化工作线程立即处理用户请求。
如果处理用户请求所需的工作线程多于您选择的预初始化工作线程,则 EMR Serverless 会自动添加更多工作线程(不超过您指定的最大并发限制)。
处理完请求后,EMR Serverless 会自动恢复为维护您指定的预初始化工作线程。您可以通过控制何时启动和停止 EMR Serverless 应用程序,来控制预初始化工作线程何时处于活动状态。
例如,您可以在用户开始交互式分析时启动应用程序,在没有用户请求且应用程序处于空闲状态时将其关闭。
Amazon EMR Serverless 在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)和亚太地区(东京)区域可用。使用 EMR Serverless,没有前期成本,您只需为使用的资源付费。您需要为应用程序消耗的 vCPU、内存和存储资源量付费。有关定价详情,请参阅 EMR Serverless 定价页面。
听说,点完下面4个按钮
就不会碰到bug了!