栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

第1章:《Spark数据分析导论》

第1章:《Spark数据分析导论》

目录
  • 1 Spark是什么
  • 2 核心组件
    • 2.1 Spark Core
    • 2.2 Spark SQL
    • 2.3 Spark Streaming
    • 2.4 MLib
    • 2.5 GraphX
    • 2.6 集群管理器
  • 3 Spark简史

1 Spark是什么

Spark是一个用来实现快速而通用的集群计算的平台。Spark扩展了广泛使用的MapReduce计算模型,并且能够在内存中进行计算,因而速度更快。Spark所提供的接口非常丰富提供基于python, java, scala和SQL的简单易用的API以及内建的丰富的程序库。
Spark的核心是一个对由很多计算任务组成的,运行在多个工作机器或者是一个计算集群上的应用进行调度,分发以及监控的计算引擎。

2 核心组件

Spark的各个组件如下图所示:

2.1 Spark Core

实现基本功能,包含任务调度,内存管理,错误恢复,与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集 ( resilient distributed dataset, 简称RDD) 的API定义。RDD表示分布在多个计算节点上可以并行操作的元素集合,是Spark主要的编程抽象,Spark Core 提供了创建和操作这些集合的多个API。

2.2 Spark SQL

Spark SQL是Spark用来操作结构化数据的程序包。通过Spark SQL,可以使用SQL或者Apache Hive版本的SQL方言 (HQL) 来查询数据。Spark SQL还支持开发者将SQL和传统的RDD编程的数据操作方式相结合进行数据分析。

2.3 Spark Streaming

Spark Streaming是Spark提供的对实时数据进行流式计算的组件。Spark Streaming 提供了用来操作数据流的API,并且与Spark Core中的RDD API高度对应。因此,程序员编写应用时,不论是操作内存或是硬盘中的数据,还是操作实时流数据,都更能应对自如。

2.4 MLib

MLib是Spark中包含的一个提供常见的机器学习功能的程序库。MLlib提供了很多种机器学习算法,包括分类,回归,聚类,协同过滤等。还提供了模型评估,数据导入等额外的支持功能。

2.5 GraphX

GraphX是用来操作图 (比如社交网络的朋友关系图)的程序库,可以进行并行的图计算。GraphX也扩展了Spark的RDD API,能用来创建一个顶点和边包含任意属性的有向图。支持对图的各种操作(图的分割和操作所有的顶点)以及常用图算法(比如PageRank等)。

2.6 集群管理器

底层而言,Spark设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算。Spark支持在各种集群管理器上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度器,叫做独立调度器。

3 Spark简史

Spark是由一个强大而活跃的开源社区开发和维护的,社区中的开发者们来自许许多多不同的机构。2009年,Spark项目正式诞生,其后不久,相比于MapReduce, Spark在某些任务上已经获得几十倍的性能提升。Saprk最早在2010年3月开源,并且在2013年6月交给了Apache基金会,现在已经成了Apache开源基金会的顶级项目。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/304507.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号