美文网首页
Spark Learn

Spark Learn

作者: 93张先生 | 来源:发表于2019-11-21 22:58 被阅读0次

RDD Programming Guide

overview

1.一个driver program 执行用户的功能函数,在集群上执行并行操作
2.RDD resilient distributed dataset 有弹性的分布式的数据集;

  • 分布在多个节点上,可以被并行操作;
  • 一般有HDFS文件创建,或者由已存在的 scala Collettion转化而来;
  • 可以被持久化在内存;每一个一个转化操作每次都需要计算,可以进行在内存中,进行缓存;
  • 可以从失败节点中自动恢复

3.共享变量,在不同节点不同任务中,通过变量副本,来做到并行操作的;

  • 两种共享变量:
  • broadcast variables:在所有的节点中,缓存一个变量
  • accumulators:只支持add 操作,比如 count, sum

Shuffle operations

shuffle是spark重新分配数据的一种机制;比如,数据在跨executors和机器的copy;shuffle是一个复杂和昂贵的代价.
shuffle 会引起 disk I/O, 数据序列化 ,网络 I/O; spark 产生一系列的tasks,采用 MapReduce操作来管理这些shuffle操作;map用来组织这些数据,reduce用来聚合这些数据;
一些shuffle 组织这些数据,消费明显的堆内存操作,比如reduceByKey 和 aggregateByKey,在map端产生这些内存占用,在ByKey端也会产生这些内存占用;当内存不够时,还会将数据溢出到硬盘上,增加额外的disk I/O 和垃圾回收;
shuffle也产生了大量的中间文件在disk, 这些文件将会被保存,知道相应的RDDs不在使用和发生垃圾回收;这些文件会长期存在,再次使用时,不需要被创建;运行长时间的spark jobs 将会消耗大量的硬盘空间;这些存储由spark.local.dir指定;

RDD Persistence

计算出来的dataset可以被持久化,每一个节点存用一些分区来存储相应的dataset;
cacke 是默认容错的,如果一个partition 丢失了,将会自动利用原来的转化操作进行重新计算;
持久化级别

Shared Variables
Brocadcast Variables

广播变量对每个程序来说是只读的,每一个节点一份,不是每个任务一份;使用场景:以一个更高效的方式将输入变量集合copy到每一个节点中;spark尝试使用更有效广播算法,来减少通信的话费.
Accumulators
只做,累加计算;分布在集群中的task,可以累加这个变量,不能读取,只有driver program 才能进行读取 .value操作
只有触发了action操作,accumulator才会被更新;transformations 不会更新accumulator,在Action中,spark保证每个task对累加器的更新只有一次;重新启动任务不会更新值;
在transformations中,如果task or job Stage 被重新执行,任务将会被更新很多次;

Stage

spark task stage 的划分,通过shuffle操作;

引发思考:
1.driver program 是怎做的,
2.RDD是怎么实现的,分布在不同节点,被并行计算,失败恢复;

相关文章

  • learn spark

    内容来源:spark source code1: spark 输入数据的默认task 个数:解答:分如下情况:Rd...

  • Spark Learn

    RDD Programming Guide overview 1.一个driver program 执行用户的功能...

  • SPARK LEARN ROAD

    从今天开始进行大数据学习上面的总结

  • spark_learn

    Angular2学习笔记——NgModule es6 新增的map和foreach AngularJS2.0 学习...

  • Spark Mllib PCA降维

    与sk_learn相比,spark mllib的PCA降维方法,只能设置最终降维的维数。 实例demo: 踩坑:1...

  • 大数据面试必备知识点总结:Spark,Hadoop,kafka,

    spark spark core spark sql spark streaming spark编程模式 spar...

  • spark安装与部署

    spark安装与部署 spark概述 spark平台结构spark统一栈 spark官网 spark的安装,配置,...

  • Spark 入门

    Spark Spark 背景 什么是 Spark 官网:http://spark.apache.org Spark...

  • Spark Core 解析:RDD

    引言 Spark Core是Spark的核心部分,是Spark SQL,Spark Streaming,Spark...

  • Learn to do, learn to be, learn

    今天,我在网上自己报了一个银行从业资格证,即银行业法律法规与综合能力,准考证打印时间是四月28,考试时间是6月一日...

网友评论

      本文标题:Spark Learn

      本文链接:https://www.haomeiwen.com/subject/hkbxwctx.html