分析

Azure砖,容量规划的最佳激发集群

Azure砖

概述:

今天的术语“数据分析”变成了buzz各行业和企业。雷竞技raybet提现每个组织坚信数据分析大大有助于了解&加快商业策略以&铅的快速增长和不断变化的市场。

Azure砖:

Azure砖是一种数据分析平台优化的微软Azure云服务平台。Azure砖提供三个开发数据密集型应用程序的环境中——砖SQL,砖数据科学与工程和砖机器学习。

砖的SQL 分析师希望提供了一个易于使用的平台上运行SQL查询数据,创建多个有意义的可视化类型从不同的角度探索查询结果,并建立&分享仪表板的利益相关者做出业务决策。
砖数据科学与工程 提供了一个互动的工作区,使工程师合作数据,数据机器学习科学家和工程师。在大数据管道,数据摄取到Azure云通过Azure批量数据工厂,或流实时使用Apache卡夫卡,事件或物联网中心枢纽。数据落在Azure Blob存储或湖Azure数据存储。分析,Azure砖从不同数据源读取数据并使用火花变成见解。
砖机器学习 一个集成的端到端机器学习环境将为实验跟踪管理服务,模型训练、功能开发和管理、测试毫升模型和服务。

高级体系结构:

Azure砖的目的是使安全的跨职能团队协作通过保持尽可能多的后端服务由Azure砖,这样数据工程师可以专注于数据分析任务。

Azure砖在控制平面和数据平面。

  • 控制平面包括后端服务,Azure砖Azure管理自己的账户。开发商的笔记本,乔布斯和查询,工作区配置存储和管理控制飞机。
  • 数据平面由Azure的帐户。所有数据都存储在这个平面和加工。同时,Azure砖连接器可用于连接到外部数据源Azure账户摄取之外的数据。

下面的图提供Azure砖平台的高级体系结构,

Sparkcluster砖结构

Azure砖-集群容量规划:

高度重要的是选择正确的集群模式和工作类型,当旋转砖集群在Azure云以实现所需的性能和最优成本。在构建Azure砖企业数据分析解决方案,负责数据架构师/数据导致执行集群容量规划,考虑到业务需求,性能吞吐量和成本因素。

Azure砖提供多个工人的类型选择,利用各种计算和存储功能,可以选择所需的性能目标。

下面是一个抽象的不同集群选项提供的Azure砖:

通用 提供平衡CPU-to-Memory比率。适合测试与开发、中小型数据库,和低到中等流量web服务器。
计算优化 提供高CPU-to-memory比率。理想的介质流量web服务器、网络设备、批处理流程和应用程序服务器。
内存优化 提供高memory-to-CPU比率。适用于关系数据库服务器,中到大型缓存和内存分析。
存储优化 磁盘高吞吐量和IO负载。适合大数据、SQL、SQL数据库,数据仓库和大型事务数据库。
GPU 专业虚拟机针对沉重的图形渲染和视频编辑,以及模型训练和推论与深度学习工作负载。
高性能计算 提供最快和最强大的CPU虚拟机与可选的高吞吐量的网络接口。

火花集群:

Sparkcluster

对于我们的讨论,让我们考虑通用(HDD)”Standard_D16_v3“实例提供16个核心cpu与内存容量64 gb的集群容量规划运动。然而,一个可以选择正确的实例选择基于他们的业务需求。各种选择和定价可以称为实例Azure砖定价链接。

图出一个有效的遗嘱执行人配置中,第一步是确定需要多少实际cpu在集群中的节点。使用上面的考虑“Standard_D16_v3”的实例,将会有16个cpu可以利用。

提交火花的工作时,我们需要至少分配一个CPU集群管理器、资源管理器、驱动程序和其他操作系统的操作。与一个CPU分配给管理操作,我们需要在每个节点上利用15可用CPU在电火花加工。

CPU vs执行者:

现在有能力规划的重要组成部分,我们需要找出多少芯可以分配给每个执行者。最理想的数字将带来显著的性能吞吐量集群。15 CPU核心,有4个可能的组合的配置:

  • 1执行人15火花内核
  • 3执行人与5火花内核
  • 5执行人与3火花内核
  • 15个1火花核心词的执行人

1执行人15火花内核:

这种类型的执行人是称为“肥执行者”。我们可能认为一个执行人与许多核心将达到最高的性能。它可能在很少的业务场景。相比之下,为最理想的场景中,它会降低性能。执行者的原因是由于许多核心会有大量内存池,垃圾收集可以减缓工作执行。这种情况下将很难确定,性能优化。

Oneexecuter 15芯

15执行人1核心:

这种类型的配置称为“薄执行者”。有了这个设置,我们将失去多核并行处理的优势利用,考虑它是低效和不推荐。

Oneexecutor Onecore

同时,找到最优的开销内存分配单一核心执行人将是一个艰巨的任务。一般来说,10%的遗嘱执行人内存大小将默认为开销内存分配。

Overheadmemory

与节点内存,64 gb内存的开销为每个执行者可以计算如下,

考虑4 gb用于集群管理器和操作系统操作。

可用节点内存= 64 gb - 4 gb = 60 gb

每个执行者内存=可用节点内存/没有。执行人= 60 gb / 15 = 4 gb

执行人的开销内存= 10% * 10% = = 4 gb内存409 mb

409 mb的内存开销小,会制造麻烦而执行工作。因此,单芯执行人不是一个最佳配置。

3执行人与5芯Vs 5执行人3芯:

通过消除脂肪执行者和薄执行人选项,我们现在可以选择理想的配置与其他两个选择:3执行人与5芯或5执行人3内核。

两个选项看起来理想的基于业务用例。然而,大多数的最佳实践指南建议选择3与5芯/节点执行人选项(链接)

图- 3与5芯执行人

3 executorswith5coreseach

图片与3 - 5执行人内核

5 executorswith3coreseach

小数量的执行人将导致较小数量的内存共享节点内存开销,使每个执行者最大并行处理能力。

结论:

上述讨论,它是理想的选择3执行人与5芯每个每个节点将平衡给定实例类型的性能。然而,通常集群大小将迭代锻炼尝试多个配置最适合个人的业务用例。没有规则写在石头上的火花集群作为不同的用例需要性能和成本之间的权衡做出业务决策。

关于作者

萨拉瓦南Ponnaiah与Perficient作为解决方案架构师,在Azure云&数据项目。拥有16年以上的工作经验在微软技术平台在银行和金融,保险,和数字取证领域。与Azure云架构企业解决方案和数据分析。

从这个作者

留下一个回复

这个网站使用Akismet来减少垃圾邮件。学习如何处理你的评论数据

博客订阅每周消化:

报名
跟着我们
推特 Linkedin 脸谱网 Youtube Instagram