华为云计算 云知识 Spark是什么
Spark是什么

【热门云产品免费试用活动】| 【最新活动】| 【企业应用优惠】

免费试用专区

Spark是一个开源的,并行数据处理框架,能够帮助用户简单的开发快速,统一的大数据应用,对数据进行,协处理,流式处理,交互式分析等等。

Spark提供了一个快速的计算,写入,以及交互式查询的框架。相比于Hadoop,Spark拥有明显的性能优势。Spark使用in-memory的计算方式,通过这种方式来避免一个MapReduce工作流中的多个任务对同一个 数据集 进行计算时的IO瓶颈。Spark利用Scala语言实现,Scala能够使得处理分布式数据集时,能够像处理本地化数据一样。除了交互式的数据分析,Spark还能够支持交互式的数据挖掘,由于Spark是基于内存的计算,很方便处理迭代计算,而数据挖掘的问题通常都是对同一份数据进行迭代计算。除此之外,Spark能够运行于安装Hadoop 2.0 Yarn的集群。之所以Spark能够在保留MapReduce容错性,数据本地化,可扩展性等特性的同时,能够保证性能的高效,并且避免繁忙的磁盘IO,主要原因是因为Spark创建了一种叫做RDD(Resilient Distributed Dataset)的内存抽象结构。

原有的分布式内存抽象,例如key-value store以及 数据库 ,支持对于可变状态的细粒度更新,这一点要求集群需要对数据或者日志的更新进行备份来保障容错性。这样就会给数据密集型的工作流带来大量的IO开销。而对于RDD来说,它只有一套受限制的接口,仅支持粗粒度的更新,例如map,join等等。通过这种方式,Spark只需要简单的记录建立数据的转换操作的日志,而不是完整的数据集,就能够提供容错性。这种数据的转换链记录就是数据集的溯源。由于并行程序,通常是对一个大数据集应用相同的计算过程,因此之前提到的粗粒度的更新限制并没有想象中的大。事实上,Spark论文中阐述了RDD完全可以作为多种不同计算框架,例如MapReduce,Pregel等的编程模型。并且,Spark同时提供了操作允许用户显式地将数据转换过程持久化到硬盘。对于数据本地化,是通过允许用户能够基于每条记录的键值,控制数据分区实现的。(采用这种方式的一个明显好处是,能够保证两份需要进行关联的数据将会被同样的方式进行哈希)。如果内存的使用超过了物理限制,Spark将会把这些比较大的分区写入到硬盘,由此来保证可扩展性。

Spark具有如下特点:

快速:数据处理能力,比MapReduce快10-100倍。

易用:可以通过Java,Scala,Python,简单快速的编写并行的应用处理大数据量,Spark提供了超过80种的操作符来帮助用户组件并行程序。

普遍性:Spark提供了众多的工具,例如Spark SQL和Spark Streaming。可以在一个应用中,方便的将这些工具进行组合。

与Hadoop集成:Spark能够直接运行于Hadoop的集群,并且能够直接读取现存的Hadoop数据。

MRS服务的Spark组件具有以下优势:

MRS服务的Spark Streaming组件支持数据实时处理能力而非定时触发。

MRS服务的Spark组件支持支持Structured Streaming,支持DataSet API来构建流式应用,提供了exactly-once的语义支持,流和流的join操作支持内连接和外连接。

MRS服务的Spark组件支持pandas_udf,可以利用pandas_udf替代pyspark中原来的udf对数据进行处理,可以减少60%-90%的处理时长(受具体操作影响)。

MRS服务的Spark组件支持Graph功能,支持图计算作业使用图进行建模。

MRS服务的SparkSQL兼容部分Hive语法(以Hive-Test-benchmark测试集上的64个SQL语句为准)和标准SQL语法(以tpc-ds测试集上的99个SQL语句为准)。

 

更多相关文章:

1. 域名 建站 专场

2. 商标特惠专场

3. 云速邮箱

4. SSL证书专场

5. 全球云服务专场

6. 企业免费试用专区

7. 个人免费试用专区

8. 图片文字识别 OCR

9. 网站建设 自助建站

10. 企业应用专场

12. 域名注册 申请

13. 网站模板 自助建站

14. 云知识 推荐

15. 云专题 清单

16. 弹性 云服务器ECS

17. 内容分发网络 CDN

18. 云硬盘 EVS

19. 对象存储服务

上一篇:华为鲲鹏计算Web应用解决方案介绍 下一篇:安徽水天信息科技有限公司

数据湖探索 DLI

数据湖探索(Data Lake Insight,简称DLI)是完全兼容Apache Spark和Apache Flink生态, 实现批流一体的Serverless大数据计算分析服务。DLI支持多模引擎,企业仅需使用SQL或程序就可轻松完成异构数据源的批处理、流处理、内存计算、机器学习等,挖掘和探索数据价值

 
进入控制台立即购买帮助文档DLI开发者社区1对1咨询