大数据之Spark教程
Apache Spark是一个集群计算设计的快速计算。它是建立在Hadoop MapReduce之上,它扩展了 MapReduce 模式,有效地使用更多类型的计算,其中包括交互式查询和流处理。这是一个简单的Spark教程,介绍了Spark核心编程的基础知识。
工业公司广泛的使用 Hadoop 来分析他们的数据集。其原因是,Hadoop框架是基于简单的编程模型(MapReduce),并且它使用的计算解决方案,是可扩展的,柔性的,容错和低成本。 在这里,主要关心的是在查询之间等待时间和等待时间来运行程序处理大型数据集的速度。
Spark由Apache软件基金会对于加快Hadoop计算软件的过程。
作为对一个共同的信念,Spark不是 Hadoop 的修改版本,不依赖于Hadoop,因为它有自己的集群管理。Hadoop仅仅是实现Spark的方式之一。
Spark使用Hadoop的方式有两种- 一种是存储和第二个是处理。由于Spark有自己的集群管理计算,所以一般它使用Hadoop只有存储的目的。
Apache Spark
Apache Spark是一个快速的集群计算技术,设计用于快速计算。它是基于Hadoop MapReduce和它扩展了MapReduce模型,以有效地将其用于多种类型的计算,其中包括交互式查询和流处理。Spark的主要特征是其内存集群计算,增加的应用程序的处理速度。
Spark旨在涵盖广泛的工作负载,如批量应用,迭代算法,交互式查询和分流。除了支持所有这些工作负载在各自的系统中,它减少了维护单独工具的管理负担。
Apache Spark的演变
Spark是在加州大学伯克利分校的AMPLab由马太·扎哈里亚在2009年开发的Hadoop子项目之一。它在2010年开源,在BSD许可下。它在2013年捐赠给Apache Software 基金,现在的Apache Spark已经在2014年2月成为Apache的顶级项目。
Apache Spark特色
Apache Spark有以下特点。
速度 − Spark有助于运行Hadoop集群应用,在存储器高达100倍更快的速度,以及10倍的速度在磁盘上运行时。这可以通过减少读/写操作数到磁盘。它存储在内存中的中间处理数据。
支持多语言 − Spark 提供了Java, Scala, Python的内置API。因此,可以使用不同语言来写应用程序。Spark 配备了80个高层次的操作符进行互动查询。
高级分析 − Spark不只支持“Map”和“reduce”。它还支持SQL查询,流数据,机器学习(ML),和图形的算法。
Spark在Hadoop上建立
下图显示了Spark 如何使用Hadoop组件的三种方式来构建。
有三种方法部署Spark ,如下面所解释。
单机版 − Spark独立部署是指Spark占据在HDFS之上(Hadoop分布式文件系统)并将空间分配给HDFS。在这里,Spark和MapReduce将并列覆盖所有Spark的作业集群。
Hadoop Yarn − Hadoop Yarn部署方式,简单地说,spark运行在Yarn没有任何必要预安装或使用root访问权限。它有助于Spark融入Hadoop生态系统和Hadoop堆栈。它允许在其它部件叠上层的顶部上运行。
Spark 在 MapReduce (SIMR) − Spark在MapReduce的用于启动spark作业,除了独立部署。通过SIMR,用户可以启动Spark和使用Shell,而不需要任何管理权限。
Spark组件
下图说明了Spark的不同组成部分。
Apache Spark 核心
Spark核心是底层一般执行引擎,所有其他的功能都是建立在Spark的平台之上。 它提供了内存计算和引用数据集在外部存储系统。
Spark SQL
星火SQL是引入了一种名为SchemaRDD一个新的数据抽象,它提供了结构化和半结构化数据的支持,它是Spark核心的组成部分。
Spark 数据流
Spark数据流充分利用Spark核心快速调度能力进行流分析。它摄取的数据在小型分批进行RDD(弹性分布式数据集),对这些小批量的数据转换。
MLlib (机器学习库)
MLlib是一个分布式的机器学习框架的分布式存储器为基础的Spark架构。它根据基准,由MLlib开发商对交替最小二乘(ALS)实现完成。Spark MLlib 9倍快于Hadoop基于磁盘的版本(前Mahout中获得了星火接口)Apache Mahout 。
GraphX
GraphX是Spark顶部上的分布式图形处理框架。它提供了用于表达图表计算,并可以通过使用预凝胶抽象API来建模用户定义的图形的API。它还提供了这种抽象的优化运行。
领取相关视频直播资料或源码扫描下方微信二维码:
大数据之Spark教程相关推荐
- 尚硅谷大数据技术Spark教程-笔记02【SparkCore(核心编程,map、mapPartitions、mapPartitionsWithIndex、flatMap、glom、groupBy)】
视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[Spark(概述.快速上手.运行环境.运行架构)] 尚硅谷大数据技术Spark教 ...
- 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】
视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[Spark(概述.快速上手.运行环境.运行架构)] 尚硅谷大数据技术Spark教 ...
- 尚硅谷大数据技术Spark教程-笔记09【SparkStreaming(概念、入门、DStream入门、案例实操、总结)】
尚硅谷大数据技术-教程-学习路线-笔记汇总表[课程资料下载] 视频地址:尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01[SparkCore ...
- 2018年又传喜报!热烈祝贺王家林大师大数据经典著作《Spark SQL大数据实例开发教程》 畅销书籍 出版上市!
2018年又传喜报!热烈祝贺王家林大师大数据经典著作<Spark SQL大数据实例开发教程> 畅销书籍 出版上市! 作者: 王家林 段智华 条码书号:9787111591979 出版日期 ...
- 大数据入门基础教程系列
所谓大数据(Big Data),就是需要处理的数据量非常巨大,已经达到了 TB.PB 甚至 EB.ZB 级别,需要成千上万块硬盘才能存储.传统的技术手段在大数据面前不堪一击,只能探索一套新的解决方案. ...
- 2020年整理的大数据基础入门教程总结和学习路线
所谓大数据(Big Data),就是需要处理的数据量非常巨大,已经达到了 TB.PB 甚至 EB.ZB 级别,需要成千上万块硬盘才能存储.传统的技术手段在大数据面前不堪一击,只能探索一套新的解决方案. ...
- 大数据开发实战教程目录
大数据开发实战教程目录 一. 课程性质.目的和任务 本课程目的是让学生了解并掌握四个领域 (1)大数据系统的起源及系统特征 (2)大数据系统的架构设计及功能目标设计 (3)大数据系统程序开发.企业大数 ...
- 大数据引擎 Spark 的全套知识体系,终于搞到了!
☆☞ 廖雪峰的大数据开发必备教程-Spark视频资料终于免费啦!限额领取~ 2019年已过去3/4,年初许下的愿实现了吗?可爱的程序员们都有哪些愿望呢? 找个女朋友. 升级电脑.键盘.鼠标等.来一次说 ...
- 尚硅谷大数据技术Scala教程-笔记04【集合】
视频地址:尚硅谷大数据技术之Scala入门到精通教程(小白快速上手scala)_哔哩哔哩_bilibili 尚硅谷大数据技术Scala教程-笔记01[Scala课程简介.Scala入门.变量和数据类型 ...
最新文章
- Javascript:郁闷了好久终于找到原因了,原理还不明白
- Web前端之登录表单
- Java打造一款SSH客户端,已开源!
- 【mybatis】一对一关联查询
- 如何用 RFM 模型扒出 B 站优质 UP 主?| 附实战代码
- 标贝科技亮相2019中国互联网大会 解决语音合成定制需求痛点
- 控制系统数字仿真-基于MATLAB实现四阶龙格库塔法
- 安装 VS 2015 报错 kb2999226
- 绘制奥林匹克五环旗。
- 【电子电路计算公式】 导线流过电流计算工具,我已经做成一个小工具了(源代码)
- 沈阳城市学院计算机,喜讯:沈阳城市学院21个代表队在2019全国计算机大赛中全部获奖...
- python 当前时间的毫秒时间戳转换为 年-月-日 时:分:秒
- SketchUp: Modeling Interiors from Photos SketchUp:从照片建模室内设计 Lynda课程中文字幕
- 基于语音控制的智能家居实现
- std::forward理解
- 区块链之旅(四)双花攻击、博弈论、Hash函数、数字签名
- Redis总结二 - 测试案例
- Neural Style Transfer: A Review
- 二、工厂模式思维导图
- MarkDown语法浅析:基础语法篇
热门文章
- 作者:​那旭(1990-),女,中国医学科学院医学信息研究所研究实习员。
- 【算法分析与设计】实验 回溯算法解决0-1背包问题
- 【Java】函数式接口与Lambda表达式
- 【Python】Python中常用的字符串处理函数
- 光栅图形学算法基础其二 (裁剪算法)
- 【Ansible】Ansible控制windows插件安装及运行error与解决方法
- int和Integer有什么区别?
- Appium运行时,error: Logcat capture failed: spawn ENOENT的解决办法
- Oracle创建表空间及用户
- poj 1436 Horizontally Visible Segments