第 1 部分 Spark 基础

Spark 概述

本章介绍 Spark 的一些基本认识.

Spark官方地址

一:什么是 Spark

Spark 是一个快速(基于内存), 通用, 可扩展的集群计算引擎

并且 Spark 目前已经成为 Apache 最活跃的开源项目, 有超过 1000 个活跃的贡献者.

历史

2009 年,Spark 诞生于 UC Berkeley(加州大学伯克利分校, CAL) 的 AMP 实验室, 项目采用 Scala 编程语言编写.

2010 年, Spark 正式对外开源

2013 年 6 月, 进入 Apache 孵化器

2014 年, 成为 Apache 的顶级项目.

目前最新的版本是3.0.1

二:Spark 特点

1:快速

与 Hadoop 的 MapReduce 相比, Spark 基于内存的运算是 MapReduce 的 100 倍.基于硬盘的运算也要快 10 倍以上.

Spark 实现了高效的 DAG 执行引擎, 可以通过基于内存来高效处理数据流

2: 易用

Spark 支持 Scala, Java, Python, R 和 SQL 脚本, 并提供了超过 80 种高性能的算法, 非常容易创建并行 App

而且 Spark 支持交互式的 Python 和 Scala 的 shell, 这意味着可以非常方便地在这些 shell 中使用 Spark 集群来验证解决问题的方法, 而不是像以前一样 需要打包, 上传集群, 验证等. 这对于原型开发非常重要.

​​​​​​​3:通用

Spark 结合了SQL, Streaming和复杂分析.

Spark 提供了大量的类库, 包括 SQL 和 DataFrames, 机器学习(MLlib), 图计算(GraphicX), 实时流处理(Spark Streaming) .

可以把这些类库无缝的柔和在一个 App 中.

减少了开发和维护的人力成本以及部署平台的物力成本.

​​​​​​​4:可融合性

Spark 可以非常方便的与其他开源产品进行融合.

比如, Spark 可以使用 Hadoop 的 YARN 和 Appache Mesos 作为它的资源管理和调度器, 并且可以处理所有 Hadoop 支持的数据, 包括 HDFS, HBase等.

​​​​​​​三:Spark 内置模块介绍

1:集群管理器(Cluster Manager)

Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算。

为了实现这样的要求,同时获得最大灵活性,Spark 支持在各种集群管理器(Cluster Manager)上运行,目前 Spark 支持 3 种集群管理器:

1:Hadoop YARN(在国内使用最广泛)

2:Apache Mesos(国内使用较少, 国外使用较多)

3:Standalone(Spark 自带的资源调度器, 需要在集群中的每台节点上配置 Spark)

​​​​​​​2:SparkCore

实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。SparkCore 中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。

​​​​​​​3: Spark SQL

是 Spark 用来操作结构化数据的程序包。通过SparkSql,我们可以使用 SQL或者Apache Hive 版本的 SQL 方言(HQL)来查询数据。Spark SQL 支持多种数据源,比如 Hive 表、Parquet 以及 JSON 等。

​​​​​​​4: Spark Streaming

是 Spark 提供的对实时数据进行流式计算的组件。提供了用来操作数据流的 API,并且与 Spark Core 中的 RDD API 高度对应。

​​​​​​​5:Spark MLlib

提供常见的机器学习 (ML) 功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。

Spark 得到了众多大数据公司的支持,这些公司包括 Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。

当前百度的 Spark 已应用于大搜索、直达号、百度大数据等业务;

阿里利用 GraphX 构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;

腾讯Spark集群达到 8000 台的规模,是当前已知的世界上最大的 Spark 集群。

【Spark】Spark基础教程知识点相关推荐

  1. python基础教程知识点_Python基础教程学习应该掌握的知识点总结

    很多人都想要Python的入门方法以及知识,参加Pythone培训班的同学也不例外.那么今天小编就来给大家分享一下零基础学习Python应该掌握的知识点总结. Python基础教程与高级编程 1.Li ...

  2. java基础教程知识点,[Java教程]js基础知识点总结

    [Java教程]js基础知识点总结 0 2016-11-01 21:00:04 如何在一个网站或者一个页面,去书写你的js代码: 1.js的分层(功能):jquery(tool) 组件(ui) 应用( ...

  3. sql 删除字段中下划线_SQL基础教程知识点总结

    1. ●列 ●字段 ●行 ●记录 2. SQL 语句及其种类 DDL DDL(Data Definition Language,数据定义语言)用来创建或者删除存储 数据用的数据库以及数据库中的表等对象 ...

  4. python3基础知识点_入门Python3基础教程-知识点摘要

    语法规则 变量语法 所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头,不能用Python3的关键字,如if while 等 大小写敏感 a = 1 A = 2 是两个不同的变量 注释语法 ...

  5. Spark环境搭建教程

    Spark环境搭建教程 前言 Spark环境搭建-Local-本地模式 准备工作 原理 操作-开箱即用 测试 Spark环境搭建-Standalone-独立集群 原理 操作 测试 Spark环境搭建- ...

  6. sql基础教程和mysql基础教程_书评「SQL基础教程(第2版)」| 你应该知道的基础知识点梳理·上...

    写在前面关于这本书:SQL的基础教程,可以使你在SQL的学习中轻松实现从0到1的过程,循序渐进地掌握SQL的基础知识和技巧.对于零基础来说非常友好,看完能够迅速上手SQL. 关于本文:一篇对这本书的知 ...

  7. 学习笔记Spark(七)—— Spark SQL应用(2)—— Spark DataFrame基础操作

    二.Spark DataFrame基础操作 2.1.DataFrame DataFrame是一种不可变的分布式数据集,这种数据集被组织成指定的列,类似于关系数据库中的表. 数据集的每一列都带有名称和类 ...

  8. spark学习基础篇1--spark概述与入门

    spark总结 一: spark 概述 1. Spark 是 分布式内存计算框架 Apache Spark 是一个快速的, 多用途的集群计算系统, 相对于 Hadoop MapReduce 将中间结果 ...

  9. 第12期:Spark零基础学习路线

    大家好,我是你们的老朋友老王随聊,今天和大家讨论的话题--Spark零基础应该怎么学? 通过这段时间和群里同学们交流,发现很多大学生甚至职场小白对Spark学习路线不是很清晰,所以我花了一些时间给大家 ...

最新文章

  1. git分支指的是_git基础之分支含义
  2. 关于crontab命令的学习
  3. 损坏防浪涌电插排内部电路
  4. 通用权限管理系统组件 (GPM - General Permissions Manager) 中后一个登录的把前一个登录的踢掉功能的实现...
  5. CDH6.3.2界面配置hbase-site.xml的方法
  6. 题解 【国家集训队2011】数颜色
  7. OSX系统编译cocos2dx andriod工程
  8. linux shell网卡,Shell脚本查看LINUX系统 网卡实时流量
  9. mobile 部署和/或注册失败 0x8973190e 解决办法
  10. 《华为战略管理法:DSTE实战体系》整体介绍
  11. 用python自动制作ppt——第三讲——插入文本框
  12. LigerUi中表(Grid)控件的相关属性笔记(持续添加中)
  13. iOS获取路由器地址
  14. matplotlib的简介
  15. 内部异常 FileNotFoundException: 设备未就绪。 (异常来自 HRESULT:0x80070015)
  16. ubuntu 18.04取消自动锁屏功能
  17. jmeter非GUI输出性能测试报告报WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x
  18. web系统中的结构化数据标记
  19. Android SDK Manager 目录文件下载
  20. 定时任务crontab/at

热门文章

  1. 1、EJB基本概念及运行环境
  2. 如何在Django模板中注入全局变量
  3. 启动Eclipse 弹出“Failed to load the JNI shared library”错误的解决方法
  4. django项目中settings.py文件中路径设置问题
  5. 使用Raphael实现html中绘图
  6. I2C总线之(一)---概述
  7. FFMpeg中apiexample.c例子分析——解码分析
  8. java delegate怎么写_美团面试官:你说你们公司的Mybatis分页插件是你写的,给我说说它的设计原理?...
  9. unity怎么设置游戏页面_杭州有没有正规的unity游戏开发培训机构?
  10. 二分查找法(递归与循环实现)