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. FPGA_VHDL 学习课堂笔记001

    FPGA_VHDL 学习课堂笔记   记录说明:本文档主要记录大学期间,老师FPGA授课课堂笔记. 代码语言:VHDL 编程软件:MAX+plus II FPGA硬件:FLE-843   03月05日 ...

  2. HTML5智能表单

    HTML5 智能表单 1.表单新增属性  ☀ autofocus 属性 <input type="text" autofocus/>设置 autofocus 属性,使文 ...

  3. 网络通信实验(1)STM32F4 以太网简介

    STM32F4 以太网简介 STM32F407 芯片自带以太网模块,该模块包括带专用 DMA 控制器的 MAC 802.3(介质访问控制)控制器,支持介质独立接口 (MII) 和简化介质独立接口 (R ...

  4. 19-matlab知识点复习二

    %% function RandDisplayJiong axis off; %关闭坐标轴 %Menubar是菜单条 none就是不显示图上方的菜单条 set(gcf,'menubar','none' ...

  5. vue iview render里面写时间截取

    render: (h, params) => {params.row.execDate = (params.row.execDate ? params.row.execDate.substr(0 ...

  6. python、java读数据

    python从txt文档中读数据有个特别神奇的函数 可以把txt文档中的数据直接读取成python数组 java用Scanner类读数据比较方便

  7. How to use BMW 35080 adapter with Yanhua Mini ACDP

    I have a question about Yanhua Mini ACDP + module 4 BMW 35080 read and write: Can the 35080 adapter ...

  8. java tcp ip网络编程(二) 套接字的基本使用

    ##基本套接字的使用 linux系统把网络io抽象成socket,对网络的编程就是对socket的编程. java把套接字抽象成类似的类 InetAddress SocketAddress 识别jav ...

  9. koa 学习1

    1.搭建环境; npm init -f 2.出现错误 npm ERR!Windows_NT 6.1.7601   解决方法: npm config set proxy null npm install ...

  10. spring.boot 无法加载oracle驱动的可能原因

    .找到本地oracle安装目录下的ojdbc6.jar包,为了方便起见,复制到某盘的根目录(如F盘根目录),在cmd下进入F盘根目录(也就是ojdbc.jar复制的目录),同时我们需要查看ojdbc的 ...