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的更多相关文章

  1. 互联网大规模数据分析技术(自主模式)第五章 大数据平台与技术 第10讲 大数据处理平台Hadoop

    大规模的数据计算对于数据挖掘领域当中的作用.两大主要挑战:第一.如何实现分布式的计算 第二.分布式并行编程.Hadoop平台以及Map-reduce的编程方式解决了上面的几个问题.这是谷歌的一个最基本 ...

  2. 大数据征信的应用和启示:ZestFinance的基于大数据的信用评估技术

    http://www.d1net.com/bigdata/news/325426.html 2014年11月,本文作者有机会和ZestFinance的创始人和首席执行官梅里尔(Douglas C.Me ...

  3. 孙荣辛|大数据穿针引线进阶必看——Google经典大数据知识

    大数据技术的发展是一个非常典型的技术工程的发展过程,荣辛通过对于谷歌经典论文的盘点,希望可以帮助工程师们看到技术的探索.选择过程,以及最终历史告诉我们什么是正确的选择. 何为大数据   "大 ...

  4. Oracle大数据解决方案》学习笔记5——Oracle大数据机的配置、部署架构和监控-1(BDA Config, Deployment Arch, and Monitoring)

    原创预见未来to50 发布于2018-12-05 16:18:48 阅读数 146  收藏 展开 这章的内容很多,有的学了. 1. Oracle大数据机——灵活和可扩展的架构 2. Hadoop集群的 ...

  5. 一起来学大数据——走进Linux之门,学习大数据的重中之重

    昨天我们看了有关大数据Hadoop的一些知识点,但是要在学习大数据之前,我们还是要为大数据的环境做一些的部署. 那么,今天我们就来讲讲开启我们大数据之路的Linux,跟上我们的脚步yo~ Linux介 ...

  6. 大数据平台的技术演化之路 诸葛io平台设计实例

    如今,数据分析能力正逐渐成为企业发展的标配,企业通过数据分析的过程将数据中的信息提取出来,进行处理.识别.加工.呈现,最后成为指导企业业务发展的知识和智慧.而处理.识别.加工.呈现的过程从本质上来讲, ...

  7. 大数据 -- Cloudera Manager(简称CM)+CDH构建大数据平台

    一.Cloudera Manager介绍 Cloudera Manager(简称CM)是Cloudera公司开发的一款大数据集群安装部署利器,这款利器具有集群自动化安装.中心化管理.集群监控.报警等功 ...

  8. 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】

    早在今年的上半年我应邀参加了由 Smartbi 主办的一个小型数据分析交流活动,在活动现场第一次了解到了民生银行的阿拉丁项目.由于时间关系,嘉宾现场分享的内容非常有限.凭着多年对行业研究和对解决方案的 ...

  9. 大数据项目相关技术栈(Hadoop周边技术)

    J2EE 框架Spring 开发框架 + SSH or SSM Lucene 索引和查询IKAnalyzer 分词Webmagic 爬虫 ETL工具:KettleSqoop 结构化数据库-hadoop ...

随机推荐

  1. MySQL Geometry扩展在地理位置计算中的效率优势

    由于在Geometry中,有相关自带函数和SPATIAL INDEX的性能优化,可以让某些位置计算的效率提升.以下是几种计算方法的效果对比. 1. 数据准备 首先创建一个数据表,这是一个店铺数据表,结 ...

  2. PF不明内存泄露已解决,白头发也没了(转)

    在使用OpenExpressApp进行WPF应用开发过程中遇到多个内存泄漏的地方,在上一篇中求助了一个内存泄露问题[WPF不明内存泄露原因,头发都白了几根],本篇与大家分享一下如何解决此问题的过程. ...

  3. 关于json格式字符串解析并用mybatis存入数据库

    园子里面找了很多关于json解析后存入数据库的方法,不是太乱,就是没有写完,我下面的主题代码多是受下面两位的启发,请按顺序查看 http://www.cnblogs.com/tian830937/p/ ...

  4. Nchan 实时消息内置变量

      以下参考官方文档:   $nchan_channel_idThe channel id extracted from a publisher or subscriber location requ ...

  5. 数组游标实现对数组的各种操作(PHP学习)

    如何不用foreach实现对数组实现循环? 答:我们只需要模拟foreach就行了,数组在执行foreach循环的时候,是有一个游标指向当前数组循环到的值, 那如果我们能拿到这个游标,并且操作游标,使 ...

  6. python set集合 以及 深浅拷贝

    set集合 特点: 无序, 不重复, 元素必须可哈希(不可变) 作用: 去重复 本身是可变的数据类型. 有增删改查操作. frozenset()冻结的集合. 不可变的. 可hash的 深浅拷贝() 1 ...

  7. java代码-------多线程实例

    总结:我真的发现输出数字,没觉得线程有什么特别的,不过在项目中用的很多,无论是游戏,还是其他 可以控制物体移动的速度 package com.a.b; class MyThread extends T ...

  8. Python中断多重循环的几种思路exit_flag

    常见方法 II. 跳出多重循环 事实上,Python的标准语法是不支持跳出多重循环的,所以只能利用一些技巧,大概的思路有:写成函数.利用笛卡尔积.利用调试. 写成函数 在Python中,函数运行到re ...

  9. 《Java核心技术》 -- 读书笔记 ② - 类 | 对象 | 接口

    对象vs对象变量 “对象” 描述的是一个类的具体实例,他被java虚拟机分配在 "堆" (Heap)中. “对象变量” 为一个对象的引用(对象变量的值=记载着具体对象的位置/地址) ...

  10. node的express中间件之static之ajax提交json

    static中间件可以使客户端直接访问网站中的所有静态文件. 利用这个功能可以直接把服务器上的静态页面直接读取出来返回到客户端. 从客户端点击一个按钮,向服务器端发送数据.并且插入到mysql数据库中 ...