砖Serverless:下一代资源管理为Apache火花
2017年6月7日 在公司博客上
作为一个组织的数据量的增长,越来越多的工程师、分析师和数据科学家需要分析这些数据使用工具如Apache火花。今天,IT团队不断努力找到一种方法来分配大数据基础设施,不同用户之间的预算,优化性能。终端用户数据科学家和分析师还花大量的时间为最佳性能优化大数据基础设施,既不是他们的核心专长也不是他们的主要目标数据的派生的见解。
删除这些用户操作的复杂性,下一代云计算是走向serverless计算。产品像BigQuery提供serverless接口为用户要求零基础设施管理。但所有这些现有产品只有地址简单,无状态的SQL的用例。
今天,我们兴奋的宣布砖Serverless,一个新的倡议提供serverless计算复杂的数据科学和Apache火花工作负载。砖Serverless是第一个产品为Apache提供Serverless API火花,大大简化和统一数据科学与大数据最终用户和DevOps的工作负载。
具体来说,在砖Serverless,我们着手实现以下目标:
- 删除所有操作复杂性科学大数据和交互数据。
- 运营成本降低一个数量级,让组织最大化资源利用率在共享环境中生成所有的工作负载。
- 减少查询延迟进行交互式分析。
- 实现上述可靠性的前提下。
在数据+人工智能峰会今天,我们推出了我们的第一个阶段的砖Serverless,叫做Serverless池,它允许客户池对于Serverless工作负载运行在自己的AWS帐户。数以百计的用户可以共享一个存储池,DevOps可以控制整个工作负载的资源成本在一个地方。在以后的阶段,我们还将提供服务serverless工作负载运行外部客户的AWS环境。
Serverless池是什么?
砖Serverless池自动管理的云资源池自动配置和auto-scaled互动引发工作负载。管理员只需要提供他们想要的最小和最大数量的实例池,对预算控制的目的。终端用户然后计划他们的工作负载使用火花api在SQL或Python,砖将自动、高效地运行这些工作负载。
serverless池的三个主要优点是:
- 自动配置:火花版本部署在serverless池自动优化的交互式SQL和Python的工作负载。
- Spark-aware弹性:砖自动尺度的计算和serverless本地存储资源池在Apache火花的改变用户的资源需求的工作。
- 可靠的细粒度共享:Serverless池嵌入抢占和故障隔离到火花,使池的资源共享许多用户在一个细粒度的方式在不损害可靠性。
为什么Serverless池?
有多个现有的资源管理器为Apache火花,但没有一个提供高并发性和自动弹性serverless池。现有集群经理,如纱,和云服务,如EMR,患有下列问题:
- 复杂的配置:每个用户需要配置他们的火花应用程序通过指定其资源需求(如内存大小的容器)。错误的配置会导致糟糕的性能。
- 低利用率:应用程序通常会使用更少的资源比以往系统中分配,导致资源浪费和更高的成本。重新分配只是在粗粒度的时间尺度。
- 高查询延迟查询:用户在交互数据科学需要他们很快恢复,这样他们可以计划下一步探索数据集。如果每个查询需要几分钟的开销或自旋了一个新的集群提交作业,这些对延迟敏感的用户会有一个很差的用户体验。
砖Serverless池结合弹性和细粒度的资源共享,极大的简化基础设施管理管理员和最终用户:
- IT管理员可以轻松地管理成本和性能在许多用户和团队通过一个设置,无需配置多个火花集群或纱线的工作。
- 用户可以关注他们的查询,编写状态数据处理代码在协作环境中如笔记本,不用思考的基础设施。他们只是连接笔记本或工作serverless池中。
接下来,我们看看详细serverless池的三个关键属性。
的自动
通常,集群配置一个火花包括以下阶段:
- IT管理员的任务是配置集群和管理预算。他们看所有可用的使用需求和成本的选择,包括选择合适的实例类型,保留情况下,选择一个现货报价,等等。
- 数据工程师和火花专家接着跳,玩着成百上千的火花配置(堆内存、序列化格式等等)来调整引发的工作性能良好。
- 如果集群是用于机器学习的工作负载,数据科学家然后花额外的时间优化集群他们的算法和利用的需求。
Serverless池大大简化了阶段1和消除了第二和第三阶段,通过允许管理员创建一个池等参数与关键AWS现货招标。
Spark-Aware弹性
如前所述,预测正确数量的资源集群是为管理员和用户最困难的任务之一,因为他们不知道使用需求。这导致大量的试验和错误的用户。与serverless池,用户可以指定所需的实例和弹性的serverless池的范围尺度计算和本地存储基于个人火花工作的资源需求。
自动定量计算:serverless池的计算资源自动定量基于集群中的火花任务排队。这是不同于粗粒度自动定量发现在传统的资源管理器。Spark-native缩放方法有助于最佳资源利用率从而大幅降低基础设施成本。此外,serverless池把这个自动定量与按需和现货实例来进一步优化成本。阅读更多的我们的自动定量文档。
自动定量存储:除了计算和内存,火花需要磁盘空间支持数据震荡和从内存溢出。有足够的磁盘空间是至关重要的火花工作没有任何失败,和数据工程师和科学家通常难以正确处理这个问题。Serverless池使用逻辑卷管理来解决这个问题。作为工人的本地存储实例填满,serverless池自动提供额外的EBS卷的实例和运行引发就业无缝地使用额外的空间。没有更多的磁盘空间”的失败!
可靠的细粒度的分享
自从serverless池允许细粒度的多个用户之间的资源共享,动态负载管理和隔离可预测的性能至关重要。
抢占:当多个用户共享一个集群,是很常见的一个工作从用户独占所有集群资源,从而减缓集群上的所有其他工作。火花公平调度器池可以帮助解决这些问题对一小部分用户有类似工作负载。集群上随着用户数量的增加,然而,它变得越来越有可能大量火花工作将占用所有集群资源。问题可以更加剧了多个数据角色时相同的集群上运行不同的工作负载。例如,运行大数据工程师ETL作业通常会防止数据分析师短缺,交互式查询。应对这些问题,serverless池将积极抢占引发不堪重负的用户的任务,确保所有用户集群得到公平地分享他们的时间。这给每个用户一个高度互动体验,同时整体资源成本最小化。
故障隔离:另一个常见的问题,当多个用户共享一个集群和笔记本是一个用户交互分析的故障代码可以崩溃引发司机,降低集群为所有用户。在这样的场景中,砖资源管理器提供了沙盒故障隔离驱动过程属于不同从一个另一个笔记本,以便用户可以安全地运行命令,否则事故司机而不用担心影响其他用户的经验。
绩效评估
我们做了一些基准测试了解serverless池票价当有并发和异构负载。这是设置:许多数据科学家们在集群上运行查询火花。这些都是短时间运行的互动工作,最多几分钟。当我们介绍一个大ETL工作负载集群是否相同?
20个用户标准集群
标准火花集群,当ETL作业补充说,平均响应时间从5分钟(红线)增加到15(橙色线),在最坏的情况下超过40分钟。
20个用户Serverless池
serverless池,交互式查询ETL作业开始时有点慢,但是砖调度器能够保证性能隔离和限制其影响。ETL作业在后台运行,有效地利用闲置的资源。用户可以获得性能优良的工作负载而不必运行第二个集群。
比较与其他系统
我们也更大的性能进行了测试,并发TPC-DS工作负载在三个环境:(1)转眼间EMR, (2) Apache火花EMR和(3)砖Serverless。
当有5用户每运行一个TPC-DS并发工作负载集群,Serverless池的平均查询延迟是一个数量级低于很快。
20个用户和背景ETL作业在集群上,不同的是更大,比转眼间快12倍和7 x速度比EMR的火花。
结论
Serverless池是我们的使命,消除所有的第一步操作复杂性涉及大数据。他们所有的猜测的集群管理,设置最小和最大池大小和规模会自动适应负载被放置在这些范围内。他们还为用户提供zero-management体验——只是从笔记本连接池并开始运行代码或工作。我们感到兴奋,砖Serverless是第一个平台提供所有这些Serverless Apache引发全功率的计算bob体育客户端下载功能。
你可以试着砖Serverlessβ形式今天签署了免费的砖试验。