Spark学习笔记0——简单了解和技术架构

笔记摘抄自 [美] Holden Karau 等著的《Spark快速大数据分析》

什么是Spark

Spark 是一个用来实现快速而通用的集群计算的平台。

  • 扩展了广泛使用的MapReduce 计算模型
  • 能够在内存中进行计算
  • 一个统一的框架简单而低耗地整合各种处理流程
  • 接口非常丰富

技术架构和软件栈

Spark 的核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎

Spark 项目还包含多个紧密集成的组件,这些组件关系密切并且可以相互调用

各组件间密切结合的设计原理的优点:

  • 软件栈中所有的程序库和高级组件都可以从下层的改进中获益
  • 只需要一套软件系统,运行整个软件栈的代价变小了
  • 能够构建出无缝整合不同处理模型的应用(例如机器学习和数据分析同时进行)

Spark Core

  • Spark Core 实现了Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块
  • Spark Core 中包含了对 RDD1 的 API 定义

Spark SQL

Spark 用来操作结构化数据的程序包

  • 可以使用 SQL 和 Apache Hive 版本的SQL 方言(HQL)来查询数据
  • 支持多种数据源(比如Hive 表、Parquet 以及JSON 等)
  • 支持开发者将SQL 和传统的 RDD 编程的数据操作方式相结合,使用 Python、Java 或 Scala 在单个应用中同时使用 SQL 和复杂的数据分析

Spark Streaming

Spark Streaming 是Spark 提供的对实时数据进行流2式计算的组件

  • Spark Streaming 提供了用来操作数据流的API,并且与Spark Core 中的RDD API 高度对应
  • 从底层设计来看,Spark Streaming 支持与 Spark Core 同级别的容错性、吞吐量以及可伸缩性

MLlib

一个提供常见的机器学习(ML)功能的程序库

  • MLlib 提供了很多种机器学习算法
  • 提供了一些更底层的机器学习原语(包括一个通用的梯度下降优化算法)

P.s. 所有这些方法都被设计为可以在集群上轻松伸缩的架构

GraphX

GraphX 是用来操作图(比如社交网络的朋友关系图)的程序库

  • 可以进行并行的图计算
  • 扩展了Spark 的RDD API,能用来创建一个顶点和边都包含任意属性的有向图
  • 支持针对图的各种操作以及一些常用图算法

集群管理器

  • Spark 支持在各种集群管理器(cluster manager)上运行,包括Hadoop YARN、Apache Mesos
  • Spark 自带的一个简易调度器,叫作独立调度器

受众

  • 数据科学家——数据科学应用
  • 工程师——数据处理应用

起源和发展



  1. 弹性分布式数据集(resilient distributed dataset,简称RDD)。RDD 表示分布在多个计算节点上可以并行操作的元素集合,是Spark 主要的编程抽象。

  2. 例如网页服务器日志、消息队列

Spark学习笔记0——简单了解和技术架构的更多相关文章

  1. spark学习笔记总结-spark入门资料精化

    Spark学习笔记 Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用. ...

  2. Spark学习笔记3(IDEA编写scala代码并打包上传集群运行)

    Spark学习笔记3 IDEA编写scala代码并打包上传集群运行 我们在IDEA上的maven项目已经搭建完成了,现在可以写一个简单的spark代码并且打成jar包 上传至集群,来检验一下我们的sp ...

  3. Spark学习笔记1——第一个Spark程序:单词数统计

    Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...

  4. Spark学习笔记2(spark所需环境配置

    Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后 ...

  5. Spark学习笔记-GraphX-1

    Spark学习笔记-GraphX-1 标签: SparkGraphGraphX图计算 2014-09-29 13:04 2339人阅读 评论(0) 收藏 举报  分类: Spark(8)  版权声明: ...

  6. Spark学习笔记3——RDD(下)

    目录 Spark学习笔记3--RDD(下) 向Spark传递函数 通过匿名内部类 通过具名类传递 通过带参数的 Java 函数类传递 通过 lambda 表达式传递(仅限于 Java 8 及以上) 常 ...

  7. Spark学习笔记2——RDD(上)

    目录 Spark学习笔记2--RDD(上) RDD是什么? 例子 创建 RDD 并行化方式 读取外部数据集方式 RDD 操作 转化操作 行动操作 惰性求值 Spark学习笔记2--RDD(上) 笔记摘 ...

  8. Html学习笔记(二) 简单标签

    标签的重点 标签的用途 标签在浏览器中的默认样式 <body>标签: 在网页上显示的内容 <p>标签: 添加段落 <hx>标签: 添加标题 标签一共有6个,h1.h ...

  9. Spark学习笔记之SparkRDD

    Spark学习笔记之SparkRDD 一.   基本概念 RDD(resilient distributed datasets)弹性分布式数据集. 来自于两方面 ①   内存集合和外部存储系统 ②   ...

随机推荐

  1. SpringMVC数据格式化

    SpringMVC数据格式化 1. 使用Formatter格式化数据 Converter可以将一种类型转换成另一种类型,是任意Object之间的类型转换. Formatter则只能进行String与任 ...

  2. Linux命令的详解

           cat /etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性.该文件对所有用户可读.               /etc/shadow  文件正如他 ...

  3. struts2--CRUD

    struts的CRUD 1.导入相关的pom依赖(struts.自定义标签库的依赖) <dependency> <groupId>jstl</groupId> &l ...

  4. SIGAI机器学习第十五集 支持向量机2

    讲授线性分类器,分类间隔,线性可分的支持向量机原问题与对偶问题,线性不可分的支持向量机原问题与对偶问题,核映射与核函数,多分类问题,libsvm的使用,实际应用 大纲: SVM求解面临的问题 SMO算 ...

  5. sql server 事务和锁的作用

    事务 事务就是作为一个逻辑工作单元的SQL语句,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上个节点.为了确保要么执行,要么不执行,就可以使用事务.而锁是实现事务 ...

  6. 四十五.加密与解密 AIDE入侵检测系统 扫描与抓包

    一.加密与解密 1.1 常见的加密算法 对称加密:怎么加密,就怎么解密 DES Date Encryption Standard AES Advance Encryption Standard 非对称 ...

  7. [后渗透]Linux下的几种隐藏技术【转载】

    原作者:Bypass 原文链接:转自Bypass微信公众号 0x00 前言 攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术. 0x01 隐藏文件 ...

  8. Eclipse简明使用教程(java集成开发环境)

    说明:我使用的是绿色便携版的Eclipse,免安装,解压就能用.链接:https://download.csdn.net/download/loongstyle/10700321 1_Eclipse中 ...

  9. mac使用vnc远程登录ubuntu16.04桌面

    mac使用vnc远程登录ubuntu16.04桌面 1.安装在Ubuntu上安装x11vnc,如下: sudo apt-get install x11vnc 2.配置vnc密码 x11vnc -sto ...

  10. 如何准备算法工程师面试,斩获一线互联网公司机器学习岗offer?

    原文:https://zhuanlan.zhihu.com/p/76827460?utm_source=wechat_session&utm_medium=social&utm_oi= ...