spark基于RDD成功构建起大数据处理的一体化解决方案,将MappReduce、Streaming、SQL、Machine Learning、Graph Processing等
大数据计算模型统一到一个技术堆栈中;Spark的Spark SQL、MLlib、GraphX、Spark Streaming等四大子框架之间可以在内存中无缝集成
并可以相互操作彼此的数据
    spark+hadoop,hadoop负责数据存储和资源管理,spark负责一体化、多元化的不同规模的数据计算,而计算是大数据的精髓所在
 
RDD分布式函数式编程
    RDD(弹性分布式数据集),RDD被创建后,提供了两种类型的操作:转换(transformation)和动作(action),转换时从原来的RDD构建成新的
 RDD,而动作时通过RDD来计算的结果,并将结果返回给驱动程序或者保存到外部存储系统
eg val right=lines.filter(lines=>lines.contains("right"))    //right是新的RDD
   right.first()    //action
    动作和转换的不同之处取决于Spark计算RDD的方式,spark在第一次使用代码中的动作时才开始计算,spark可以看到整个变换链,它可以
计算仅需要其结果的数据,对于first()动作,spark只扫描到匹配的第一行,不用读整个文件,也就是RDDS的惰性转换
    spark的RDDS在默认情况下每次都要进行重新计算,如果要重用可以使用RDD.persist(持久化方法),可以持久化到内存或磁盘
    每次调用一个新的动作,整个RDD必须从头开始计算,为了提高效率,可以将中间结果持久化
 
Spark子框架
   Spark Streaming
     RDD之间通过lineage相连接,RDD中任意的Partition出错,都可以并行地在其他机器上将确实的Partition计算出来,这个容错恢复方式比连续计算模型(Storm)效率更高
     Spark Streaming将流式计算分解成多个Spark Job,对于每一段数据的处理都会经过Spark DAG图分解,以及Spark的任务集的调度过程
     实时性,Spark Streaming Batch Size的选取在0.5~2秒之间(Storm相对的最小延迟在100ms)
     吞吐量,Spark Streaming比storm高2~5倍
 
     Spark编程时对于RDD的操作,Spark Streaming是对DStream的操作
     Spark Streaming初始化     在开始进行DStream操作前,对SparkStreaming进行初始化生成StreamingContext
          eg var ssc=new StreamingContext('Spark://...','WordCount',Seconds(1),[Homes],[Jars])     //batch size 1秒输入的数据进行一次Job处理
     Spark Streaming有特定的窗口操作,涉及两个参数:一个是滑动窗口的宽度,一个是窗口滑动频率,必须是batch size的整数倍
          eg 过去5秒为一个输入窗口,每1秒统计一下WordCount,我们会将过去5秒的每一秒的WordCount都进行统计,然后叠加
               val wordCounts=words.map(x=>(x,1)).reduceByKeyAndWindow(-+-,Seconds(5s),Seconds(1))
 
Spark运行模式
     在Yarn出来前,Hadoop MapReduce属于整个Hadoop生态体系核心,但由于调度开销巨大,中间数据写磁盘导致运行速度慢等缺点,并不适合实时计算等场景
     Spark是一个分布式内存性计算框架,与yarn结合,是的Spark可以与MapReduce运行于同一个集群中

spark随笔的更多相关文章

  1. Spark随笔(三):straggler的产生原因

    首先,介绍前辈研究的基于MapReduce框架的outlier产生原因:其次,根据这些方面来分析Spark架构中的straggler:最后,根据阅览的优化办法,谈谈自己的看法. 一.MapReduce ...

  2. Spark随笔(二):深入学习

    一.如何选择粗粒度和细粒度 从底层往上引申来理解粗粒度与细粒度. 一层:一个类,具有三个属性值.为了查询这个类的所有实例,细粒度查询的程度为属性值,即依次查询每个实例化对象的属性值,查询三次:粗粒度按 ...

  3. Spark随笔(一):Spark的综合认识

    一.Spark与Hadoop的关系 Spark和Hadoop只是共用了底层的MapReduce编程模型,即它们均是基于MapReduce思想所开发的分布式数据处理系统. Hadoop采用MapRedu ...

  4. Spark 3000门徒第一课随笔

    昨晚听了王家林老师的Spark 3000门徒系列课程的第一课,把scala基础过了一遍,对ArrayBuffer有了新的认识: Array本身创建后不可修改ArrayBuffer可修改import s ...

  5. spark SQL随笔

    sparkSQL 1.主要的数据结构 DataFreames 2.开始使用:SQLContext 创建步骤: Val  sc:sparkContext Val  sqlContext=new org. ...

  6. Apache Spark简单介绍、安装及使用

    Apache Spark简介 Apache Spark是一个高速的通用型计算引擎,用来实现分布式的大规模数据的处理任务. 分布式的处理方式可以使以前单台计算机面对大规模数据时处理不了的情况成为可能. ...

  7. 《深入理解Spark:核心思想与源码分析》——SparkContext的初始化(叔篇)——TaskScheduler的启动

    <深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 <深入理解Spark:核心思想与源码分析> ...

  8. Hadoop随笔(二):Hadoop V1到Hadoop V2的主要变化

    一.消失的概念与新鲜的名词 Hadoop V2相对于Hadoop V1的变化主要在于资源管理和任务调度,计算模型仍然保持map/reduce的模型.资源管理和任务调度的变化导致了工作流程的变化,一些概 ...

  9. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

随机推荐

  1. C语言作业04-数组

    1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 通过本章的学习,学会了几种用于循环的语句,能够利用循环解决复杂的问题,但对于几种循环的使用并不熟练,其中对于c ...

  2. 解决访问HTTPS,抛出的异常javax.net.ssl.SSLHandshakeException

    本地测试没问题,http换成https抛出异常javax.net.ssl.SSLHandshakeException,网上有说是服务器证书,有说要启动SSL3协议的,反正没有找到有用的. 在GET和P ...

  3. 您可能不知道的CSS元素隐藏“失效”以其妙用

    您可能不知道的CSS元素隐藏“失效”以其妙用 by zhangxinxu from http://www.zhangxinxu.com地址:http://www.zhangxinxu.com/word ...

  4. 【相关网站 - 01】- Java 相关网站

    一.官方网站 1. Java 官方网站 https://www.java.com/zh_CN/ 2. Spring 官方网站 http://spring.io/ 1. Spring Framework ...

  5. layui数据表格监听按钮问题

    layui官网文档源码 原始容器 <table id="demo" lay-filter="test"></table> 工具栏模板: ...

  6. 报错:APP has stopped

     由于在 /MyActivity/AndroidManifest.xml 中把activity的类名打错,而导致程序加载后即出错. 而输错启动程序的类名并不会引起报错,因此这个应该引起注意.

  7. 《Java从入门到精通》学习总结4

    1. 程序运行期间,大部分数据都在内存中进行操作,当程序结束时,这些数据将消失. 如果需要将数据永久保存,可使用文件输入流 / 文件输出流与指定的文件建立连接,将需要的数据永久保存到文件中. File ...

  8. 《Java从入门到精通》学习总结1

    1. Java既是编译型语音,也是解释型语言:先将源代码编译成Java字节码,然后Java虚拟机对Java字节码进行解释运行 2. 使用命令行编译Java源代码时,如果代码中有中文,在编译时需要指定编 ...

  9. WPF中的数据绑定(初级)

    关于WPF中的数据绑定,初步探讨 数据绑定属于WPF中比较核心的范畴,以下是对WPF中数据绑定的一个初步探讨.个人感觉还是带有问题性质的叙述比较高效,也比较容易懂 第一,什么是数据绑定? 假定有这么一 ...

  10. Java多线程中static变量的使用

    轉:https://blog.csdn.net/yy304935305/article/details/52456771 鲁迅先生曾说过:“时间就像海绵里的水,只要愿挤,总还是有的”.不管肿(怎)么说 ...