spark简介及其架构

举报
cwk 发表于 2020/06/24 20:44:33 2020/06/24
【摘要】 Spark是一个通用的并行计算框架,由加州伯克利大学的AMP于2009开发,并于2010年进行开源,后续发展为大数据领域的最活跃的开源项目之一。Spark在各大场景中扮演着重要的角色,比如能够进行复杂的批数据处理,基于实时数据流的数据处理和历史数据的交互式查询。在实时大数据应用的场景下,相比于Hadoop的高吞吐,低响应的特点,spark通过内存计算能力极大提高了大数据处理速度,对实...

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

Spark的特点:

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

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

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

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

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

 

Spark模块组成:


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

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

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

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

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

 

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

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。