Spark大数据技术运行原理

Spark 是什么
      Spark是2009年由马泰·扎哈里亚(MateiZaharia)在加州大学伯克利分校的AMPLab实验室开发的子项目,经过开源后捐赠给Apache软件基金会,最后成为我们现在众所周知的ApacheSpark。它是由Scala语言实现的专门为大规模数据处理而设计的快速通用的计算引擎。经过多年的发展,现已形成了一个高速发展、应用广泛的生态系统。
Spark主要有以下3个特点:
(1)Spark提供了高级应用程序编程接口(ApplicationProgramming Interface,API),应用开发者只用专注于应用计算本身即可,而不用关注集群。
(2)Spark计算速度快,支持交互式计算和复杂算法。
(3)Spark是一个通用引擎,可用它来完成各种运算,包括SQL查询、文本处理、机器学习、实时流处理等。在Spark出现之前,我们一般需要学习使用各种各样的大数据分析引擎来分别实现这些需求。

Spark与Hadoop的区别与联系
Spark与 Hadoop处理的许多任务相同,但是在以下两个方面不相同。

(1)解决问题的方式不一样
      Hadoop和Spark两者都是大数据框架,但是各自的属性和性能却不完全相同。Hadoop是一个分布式数据基础设施,它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,这意味着我们不需要购买和维护昂贵的服务器硬件。同时,Hadoop还会对这些数据进行排序和追踪,这使得大数据处理和分析更加迅速高效。
       Spark 则是一个专门用来对分布式存储的大数据进行处理的工具,但它并不会进行分布式数据的存储。
(2)两者可合可分
       Hadoop不仅提供了HDFS分布式数据存储功能,还提供了MapReduce的数据处理功能。因此我们可以不使用 Spark,而选择使用Hadoop自身的 MapReduce 对数据进行处理。

Spark的生态系统
       Spark生态系统以 Spark Core 为核心,利用 Standalone、YARN 和 Mesos 等进行资源调度管理,完成应用程序分析与处理。这些应用程序来自Spark的不同组件,如Sparkshell.Spark Submit 交互式批处理、Spark Streaming实时流处理、Spark SQL快速查询、MLlib 机器学习、GraphX图处理等。

(1)Spark Core 提供 Spark 最基础与最核心的功能,它的子框架包括Spark SOL,SparkStreaming、MLlib 和 GraphX。
(2)Spark Streaming是Spark API核心的一个存在可达到超高通量的扩展,可以处理实时数据流的数据并进行容错。它可以从Kafka、Flume、Twiter、ZeroMQ、Kinesis、TCEsockets等数据源获取数据,并且可以使用复杂的算法和高级功能对数据进行处理。处理后的数据可以被推送到文件系统或数据库。
(3)SparkSQL是一种结构化的数据处理模块。它提供了一个称为 Data Frame 的编程抽象,也可以作为分布式SQL查询引擎。
一个DataFrame相当于一个列数据的分布式采集组织,类似于一个关系型数据库中的一个表。它可以从多种方式构建,如结构化数据文件、Hive、外部数据库或分布式动态数据集(RDD)。
(4)GraphX在 Graphs 和 Graph-parallel 并行计算中是一个新的部分,GraphX是 Spark上的分布式图形处理架构,可用于图表计算。

Spark的架构与原理

       Spark 架构主要包括客户端驱动程序 Driver App、集群管理器 Cluster Manager、工作节worker
以及基本任务执行单元 Executor。

        Worker是 Spank 的工作节点。对 Spark 应用程序来说,由集群管理器分配得到资源的 Worker 节点主要负责以下工作:创建Executor,将资源和任务进一步分配给 Executor,然后同步资源信息给 Cluster Manager。
        Executor是Spark任务的执行单元。它主要负责任务的执行以及与Worker、DriverApp 的信息同步。

Spark作业运行流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值