spark简介及其架构

网友投稿 704 2022-05-28

Spark是一个通用的并行计算框架,由加州伯克利大学的AMP于2009开发,并于2010年进行开源,后续发展为大数据领域的最活跃的开源项目之一。Spark在各大场景中扮演着重要的角色,比如能够进行复杂的批数据处理,基于实时数据流的数据处理和历史数据的交互式查询。在实时大数据应用的场景下,相比于Hadoop的高吞吐,低响应的特点,spark通过内存计算能力极大提高了大数据处理速度,对实时场景能够提供完美的解决方案,并支持SQL查询,图计算,机器学习等。编程方面Spark支持Java, Scala, python,R等语言实现业务逻辑,用户能够根据业务框架自由选择相应的编程语言,容易上手。

Spark的特点:

快速处理能力:随着爆炸式增长的海量数据,数据处理的实时性显得尤为重要。Hadoop MapReduce的Job将中间输出与结果存储在磁盘中,读写磁盘造成磁盘I/O瓶颈,而Spark支持将中间输出与结果存储在内存中,提升了任务执行的效率,也避免因磁盘高I/O引起的性能问题,对大数据的实时处理也能做到轻松应对。

易于使用:Spark支持多种编程语言,包括java、scala,python和R语言等。比如用户能够通过简单的python语言调用丰富的机器学习库进行业务开发,极大降低了用户的使用门槛。

高可用:Spark集群模式多实例部署,解决机器单点故障问题。

丰富的数据源:Spark支持丰富的数据源,除了操作系统自身的文件系统和HDFS,还支持访问Cassandra,Hbase,Hive,Tachyon等

支持查询与流式计算:Spark支持SQL查询,使用简单SQL即可开发复杂业务逻辑。Spark也支持实时流计算,依赖Spark Streaming对数据进行实时处理,主要针对生命周期短的数据,需要及时挖掘其中的数据价值。

spark简介及其架构

Spark模块组成:

Spark core:Spark的基础与核心功能实现,包括sparkContent初始化、调度系统(DAGScheduler和TaskScheduler)、存储体系(Spark优先考虑使用各节点的内存作为存储)、计算引擎等。

Spark SQL:提供SQL查询能力,尤其对于一些不熟悉scala语言的但又想通过大数据平台进行数据挖掘的开发工程师,能够轻松利用SQL语句进行交互式查询和业务开发。

Spark Stream:提供实时流计算能力,Spark Streaming支持的数据输入源主要包括Kafka、Flume、ZeroMQ等。

MLlib:提供机器学习相关的算法和实用程序,比如分类,聚类,回归等,提供了常用数据挖掘算法的分布式实现功能。

Graphx:一个分布式图处理框架,提供强大图计算能力,基于Spark平台提供对图计算和图挖掘简洁易用的而丰富的接口。

现华为云上数据湖探索(Data Lake Insight,简称DLI)基于Apache Spark生态,提供了SQL,SPARK,FLINK完整生态链,帮助用户挖掘和探索数据价值。

spark SQL

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【大数据上云】如何迁移MRS Kafka集群的master节点ZK实例到core节点
下一篇:微机原理课程设计--双机并口通信
相关文章