写在前面
评测地址附上:E-MapReduce Serverless Spark评测 ,欢迎大家参加活动,一起为更好的云服务贡献自己的力量。
正式进入评测报告前,先聊点生活小知识。最近发生了些事,真的看到了,老百姓的无奈。我买的新能源汽车-哪吒汽车,刚买的时候引以为傲,因为在某种程度上信任老周。后来,它各种故障,反复的拉到售后去解决都是没有很好的结果。按照三包法要求,是可以直接退车的。但是,确实不想那么麻烦,一直跟他们哪吒公司人员尝试协商退换车,结果哪吒摆烂、欺骗、拖延,就永远没有结果。为了这事,联系12315,结果换来的是胳膊拧不过大腿,哪吒仍然我行我素。现在就只有一个结果,起诉。社区的哪吒的同仁,你们在这种公司相信也很煎熬。说了这么多废话,就想告诉大家,如果想要买新能源汽车,选大牌子,选能承担责任的,而不是这种所谓的性价比车。要注重售后、车企的管理水平,像哪吒这种不倒闭,不现实。
这几天就在各种处理这种事耽误了学习的精力。现在趁着尾声,写一下对于EMR Serverless Spark的学习与理解吧!
它是什么?
首先,我们看这个报告,要确认,我能获得什么。除了我写的生活小知识废话以外,作为技术人员,咱们最想要得到的是工作中如何利用前人经验,后人乘凉。
那么,它是什么?
阿里云给到的说明,E-MapReduce(以下简称:"EMR")Serverless Spark 版是开源大数据平台 E-MapReduce 基于 Spark 提供的一款全托管、一站式的数据计算平台。它为用户提供任务开发、调试、发布、调度和运维等全方位的产品化服务,显著简化了大数据计算的工作流程,使用户能更专注于数据分析和价值提炼。
对于不接触大数据的人来讲,可能比较难了解到Spark、E-MapReduce 是什么,或许在公司内简单听了个名字。现在,我在正式报告前,先对它们简单描述给大家,让大家有明确的认知。
相信大家虽然有可能对大数据接触不深,但也能够听说MapReduce这个成熟的分布式计算框架。它简化了分布式编程的复杂性,将任务分解为两个简单的步骤:Map 和 Reduce。
Map 阶段:将输入数据拆分成较小的块,并分配给多个并行处理任务。每个任务执行用户定义的 Map 函数,该函数对每个数据项进行处理并生成新的键值对。
Reduce 阶段:将 Map 阶段生成的所有键值对进行排序和分组,然后将每个分组的数据传递给用户定义的 Reduce 函数。该函数对每个分组的数据进行聚合并生成最终输出。
MapReduce 具有以下特点:
- 易于编程:用户只需编写 Map 和 Reduce 函数即可完成数据处理任务,而无需关心底层的分布式执行细节。
- 高扩展性:MapReduce 可以将任务分配给大量机器并行执行,从而处理海量数据。
- 高容错性:MapReduce 框架可以自动处理节点故障,并重新调度任务,确保数据的完整性。
现在技术发展中,也出现了更先进的分布式计算框架,但是因为其简易的特性,主流大数据平台都还是支持MapReduce。
更先进的分布式计算框架之一就是Spark,Spark 是一种基于内存的处理模式,这意味着它将数据存储在内存中,这使得 Spark 的处理速度比 MapReduce 快得多,并且延迟也更低。
但是,Spark 的复杂性也更高,需要开发人员编写更复杂的代码来充分利用其性能优势。
那么,E-MapReduce又是什么呢,是阿里云上的一个产品解决方案。就像阿里云说明的,开源大数据平台E-MapReduce(Elastic MapReduce)是运行在阿里云平台上的一种大数据处理的系统解决方案。可以方便地使用Hadoop和Spark生态系统中的其他周边系统分析和处理数据。
相信看到这里的朋友,都大致了解了它是什么,带着这个了解,就明确后续的学习能够获得什么样的经验了。
E-MapReduce产品族
说到正题,就把视野转到了阿里云的产品这块。开源大数据开发平台E-MapReduce(简称EMR)提供了多种方式、版本供大家使用。
现在的产品文档介绍里,比较简单的列出了三种形态。
但从工作台,我们可以看到,产品族目前已经比较强大,支持各种流行技术的版本。
ECS版本,就是提供ECS环境,助力快速将开源Hadoop生态的组件安装部署在ECS上,并启动相应的服务
ACK版本,就是不再是ECS环境,转为了容器云的集群
Serverless版本,借助Serverless特性,让开发者不再关心服务器的资源问题,代码应用与服务器资源解耦,弹性伸缩,降低成本,按量付费。
先给个批评吧,其实好多次提到了,阿里云的产品现在越来越复杂,那么文档的维护是否及时,此处我们明显看到文档更新滞后,附上地址: E-MapReduce 产品简介 ,希望真的好好想想这个问题。对于大多数技术用户来讲,首先通过这个文档了解这个产品,才会有后续的开通动作。
另外,其实没必要分这么多版本。开源组件是否可以在构建使用时,自由选择即可,不必要非得分成这么多的版本。我用的只是一个平台,而非各个不同的组件不同的版本。
EMR Serverless Spark 服务最佳实践
数据分析实践
场景:用户行为分析
数据源:用户行为日志
目标:分析用户行为模式,识别用户偏好,优化产品体验。
实践步骤:
- 将用户行为日志导入 EMR Serverless Spark。
- 使用 Spark SQL 对日志进行清洗和转换。
- 使用 Spark MLlib 对数据进行分析,提取用户行为特征。
- 使用可视化工具对分析结果进行展示。
找了点测试环境的行为日志导入分析了下。
性能对比
与其他引擎对比
指标 | EMR Serverless Spark | Spark on ECS |
启动时间 | 秒级 | 分钟级 |
伸缩速度 | 秒级 | 分钟级 |
资源利用率 | 高 | 低 |
运维成本 | 低 | 高 |
与自建 Spark 集群对比
指标 | EMR Serverless Spark | 自建 Spark 集群 |
运维难度 | 低 | 高 |
容错性 | 高 | 低 |
弹性伸缩 | 轻松 | 复杂 |
成本 | 按需付费 | 预付费 |
结论:
EMR Serverless Spark 在启动时间、伸缩速度、资源利用率和运维成本等方面都具有明显优势。与自建 Spark 集群相比,EMR Serverless Spark 可以显著降低运维难度,提高容错性和弹性,并降低成本。
成本收益分析
成本:
- 使用 EMR Serverless Spark,您只需为实际使用的资源付费,无需为闲置资源付费。
- 阿里云还提供多种优惠政策,例如按小时计费、包年包月折扣等,可以进一步降低您的成本。
收益:
- 提高开发效率:EMR Serverless Spark 可以让您专注于数据分析本身,无需担心底层服务器的运维。
- 降低运维成本:EMR Serverless Spark 可以自动管理资源,无需您手动操作。
- 提高资源利用率:EMR Serverless Spark 可以根据您的实际需求自动伸缩资源,避免资源浪费。
结论:
EMR Serverless Spark 可以帮助您显著降低成本,并提高开发效率和资源利用率。
EMR Serverless Spark 服务体验评测
产品引导和文档
EMR Serverless Spark 产品内引导提供了分步骤的教程,指导用户完成常见操作。
但是说实话,下边快速开始已经按照步骤展示了相关要做的准备,为何还把创建工作空间入口开放。进去之后,又是比较懵逼,还需要重新创建DLF数据湖。完全可以在1步处,增加存在DataCatalog不需要创建的提示,关闭上边创建工作空间的入口,都在快速开始流程内点击。
建议:
- 可以增加一些视频教程,更加直观地展示产品的使用方法。
- 可以提供更多案例和最佳实践,帮助用户更好地使用产品。
产品功能
EMR Serverless Spark 提供了以下主要功能:
- 便捷的接入:支持多种数据源接入。
- 高效的数据开发:支持 Spark SQL、Spark MLlib 等多种数据分析工具和库。
- 弹性伸缩:可以根据您的实际需求自动伸缩资源,避免资源浪费。
- 丰富的监控和告警:提供实时监控和告警功能,帮助您及时发现和解决问题。
总体而言,EMR Serverless Spark 的产品功能满足了用户的基本需求。
建议:
- 可以增加对更多数据源的支持,例如数据库、消息队列等。
- 可以提供更多数据分析工具和库,例如机器学习、深度学习等。
- 可以提供更丰富的监控和告警功能,例如自定义指标、阈值告警等。
OLAP 引擎对比评测
目前公司内,虽然不是主力做大数据,但是相关平台架构有所涉及。也使用过 Apache Spark 开源引擎进行大数据分析。Spark 是一款功能强大且易于使用的开源数据分析引擎,可以满足各种数据分析需求。
EMR Serverless Spark 与其他 OLAP 引擎的对比
指标 | EMR Serverless Spark | 其他 OLAP 引擎 |
部署方式 | 云托管 | 自建部署 |
运维难度 | 低 | 高 |
容错性 | 高 | 低 |
弹性伸缩 | 轻松 | 复杂 |
成本 | 按需付费 | 预付费 |
功能 | 丰富 | 有限 |
社区活跃度 | 高 | 低 |
结论:
EMR Serverless Spark 在部署方式、运维难度、容错性、弹性伸缩、成本等方面都具有明显优势。此外,EMR Serverless Spark 基于 Spark 开源引擎,拥有丰富的功能和活跃的社区,可以满足各种数据分析需求。
建议:
阿里云可以考虑将 EMR Serverless Spark 与其他 OLAP 引擎进行整合,提供统一的访问和管理界面,方便用户选择和使用。
总体结论
EMR Serverless Spark 是一款功能强大、易于使用且成本高效的 Serverless Spark 计算服务,可以帮助企业简化大数据处理流程,降低运维成本,并提高数据分析效率。
以下是一些 EMR Serverless Spark 的亮点:
- 全托管服务:用户无需担心底层服务器的运维,可以专注于数据分析本身。
- 弹性伸缩:可以根据您的实际需求自动伸缩资源,避免资源浪费。
- 按需付费:只需为实际使用的资源付费,无需为闲置资源付费。
- 高可用性:提供高可用服务,确保您的数据安全可靠。
- 丰富的功能:支持多种数据源接入、多种数据分析工具和库,并提供丰富的监控和告警功能。
结论
EMP平台提供了很便捷的操作、管理、运维,大大减少了成本。但是真心对于分这么多版本无感,不知道为啥要分这么多,都是按照流量付费,各种自选组件就好。