第五章 大数据平台与技术 第12讲 大数据处理平台Spark






Spark支持多种的编程语言

对比scala和Java编程上节课的计数程序。相比之下,scala简洁明了。

Hadoop的IO开销大导致了延迟高,也就是说任务和任务之间涉及到I/O操作。前一个任务完成之前没有写入硬盘,下一个任务无法从硬盘当中获取数据,从而导致了这个高延迟。

Spark与Hadoop的对比:Spark也是MapReduce,但是它的编程模式比Hadoop的MapReduce更灵活,而且会支持多种数据集的操作。其次呢,它不是从磁盘中读取数据,它是从内存中读取数据。我把结果中间结果写到内存,下一步的操作从内存当中读数据,将远远快于从磁盘,这对于迭代运算的效率非常高。谷歌的排序算法PageRank,它就是一种典型的迭代运算。同时Spark是一种基于DAG的任务调度,它比Hadoop的迭代机制执行的效率更高。

Hadoop与Spark的执行流程对比:
从硬盘读数据每秒钟只有30MB-35MB。所以这样就大大限制了运算的速度。内存的存取速度是远远大于磁盘的,所以它的计算速度显然快于Hadoop平台。

机器学习中一个最典型的应用:逻辑回归。Hadoop执行迭代运算非常耗资源,而Spark将数据载入内存之后的迭代运算可以直接使用内存当中的中间结果做运算,避免了频繁从磁盘当中读取数据。
Spark消耗的资源比Hadoop小很多。

大数据处理要解决的三个类型的运算:大批的数据运算,成批成批的处理。二、基于历史数据的交互式查询。三、基于实时数据流的处理。批量数据可以在数十分钟和数小时之内完成计算。交互式的查询,用户没有那么多耐心去等待,需要在数十秒或者是几分钟之内告诉结果。实时数据流的处理对实时的要求更高,需要在百毫秒或者是数秒之间。以前要部署不同的平台解决数据对实时处理速度要求不同的问题。MapReduce平台解决批量数据处理问题,Impala平台解决历史数据的交互式查询问题,Storm平台解决实时数据流的问题。当一个应用面临三种不同的数据处理的时候,需要进行不同平台的整合,这样带来了较高的成本,而且资源的调度和分配比较困难。

Spark的生态系统:

批处理基于内存的计算、交互式查询SQL的查询、流数据处理 流数据的计算
Spark成为伯克利数据分析栈的重要组成部分。

Spark生态系统应用场景:

Hadoop和Spark统一部署(Hadoop有些功能还无法用Spark代替)

云计算:用户不需要部署自己的平台,只需要使用付费

云计算本身也是大数据的一种业务模式

第五章 大数据平台与技术 第12讲 大数据处理平台Spark的更多相关文章
- 互联网大规模数据分析技术(自主模式)第五章 大数据平台与技术 第10讲 大数据处理平台Hadoop
大规模的数据计算对于数据挖掘领域当中的作用.两大主要挑战:第一.如何实现分布式的计算 第二.分布式并行编程.Hadoop平台以及Map-reduce的编程方式解决了上面的几个问题.这是谷歌的一个最基本 ...
- 大数据征信的应用和启示:ZestFinance的基于大数据的信用评估技术
http://www.d1net.com/bigdata/news/325426.html 2014年11月,本文作者有机会和ZestFinance的创始人和首席执行官梅里尔(Douglas C.Me ...
- 孙荣辛|大数据穿针引线进阶必看——Google经典大数据知识
大数据技术的发展是一个非常典型的技术工程的发展过程,荣辛通过对于谷歌经典论文的盘点,希望可以帮助工程师们看到技术的探索.选择过程,以及最终历史告诉我们什么是正确的选择. 何为大数据 "大 ...
- Oracle大数据解决方案》学习笔记5——Oracle大数据机的配置、部署架构和监控-1(BDA Config, Deployment Arch, and Monitoring)
原创预见未来to50 发布于2018-12-05 16:18:48 阅读数 146 收藏 展开 这章的内容很多,有的学了. 1. Oracle大数据机——灵活和可扩展的架构 2. Hadoop集群的 ...
- 一起来学大数据——走进Linux之门,学习大数据的重中之重
昨天我们看了有关大数据Hadoop的一些知识点,但是要在学习大数据之前,我们还是要为大数据的环境做一些的部署. 那么,今天我们就来讲讲开启我们大数据之路的Linux,跟上我们的脚步yo~ Linux介 ...
- 大数据平台的技术演化之路 诸葛io平台设计实例
如今,数据分析能力正逐渐成为企业发展的标配,企业通过数据分析的过程将数据中的信息提取出来,进行处理.识别.加工.呈现,最后成为指导企业业务发展的知识和智慧.而处理.识别.加工.呈现的过程从本质上来讲, ...
- 大数据 -- Cloudera Manager(简称CM)+CDH构建大数据平台
一.Cloudera Manager介绍 Cloudera Manager(简称CM)是Cloudera公司开发的一款大数据集群安装部署利器,这款利器具有集群自动化安装.中心化管理.集群监控.报警等功 ...
- 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】
早在今年的上半年我应邀参加了由 Smartbi 主办的一个小型数据分析交流活动,在活动现场第一次了解到了民生银行的阿拉丁项目.由于时间关系,嘉宾现场分享的内容非常有限.凭着多年对行业研究和对解决方案的 ...
- 大数据项目相关技术栈(Hadoop周边技术)
J2EE 框架Spring 开发框架 + SSH or SSM Lucene 索引和查询IKAnalyzer 分词Webmagic 爬虫 ETL工具:KettleSqoop 结构化数据库-hadoop ...
随机推荐
- 服务器用 git 进行部署出现代码冲突的处理
服务器用 git 进行部署出现代码冲突的处理 起因: 由于项目是之前很久之前上传的,且并没上线.使用 git pull 进行代码更新时出现很多冲突. 因为服务器上的代码有移动过位置,不知道为什么就冲突 ...
- Microsoft Visual Studio小技巧
main函数调试参数: Project -> Properties -> Configuration Properties -> Debugging 在Command Argumen ...
- 搭建基于hyperledger fabric的联盟社区(七) --升级chaincode
上个版本的chaincode有很多功能不完备,所以要部署新版本的chaincode.Fabric支持在保留现有状态的前提对chaincode进行升级. 一.新版chaincode 新版本的chainc ...
- python 多线程要点
要点整理 多线程 #coding=utf-8 import threading from time import ctime,sleep def music(func): for i in range ...
- Python库-BeautifulSoup
sp = BeautifulSoup.bs4.BeautifulSoup(html.text,"html.parser") 方法 1.sp.title 返回网页标题 2.sp.te ...
- Linux系统性能检测
转自:http://www.cnblogs.com/itech/archive/2011/06/08/2075145.html 一 .uptime uptime命令用于查看服务器运行了多长时间以及有多 ...
- CDH5.10 添加kafka服务
简介: CDH的parcel包中是没有kafka的,kafka被剥离了出来,需要从新下载parcel包安装.或者在线安装,但是在线安装都很慢,这里使用下载parcel包离线安装的方式. PS:kafk ...
- gil基本介绍
一 引子 定义: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native t ...
- Linux 之 利用Google Authenticator实现用户双因素认证
一.介绍:什么是双因素认证 双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产 ...
- 【转】C#调用java类、jar包方法
原文地址:http://blog.csdn.net/black0707/article/details/5769366 一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录 ...