一瞥

时间: | 分类: spark学习

《Apache Spark源码剖析》笔记

spark简介

在Hadoop的整个生态系统中,Spark 和 MapReduce 在同一个层级,主要解决分布式计算框架的问题。

  • 分布式并行处理,集群管理
  • 高可靠性的两重含义,一是服务的有效性,二是计算结果的准确性。
  • 高性能计算在可接受的时间内完成

Spark 和 Hadoop的关联:

  • Spark 和 Hadoop中的MapReduce处在同一层面
  • Spark可以部署在YARN上
  • Spark原生支持对HDFS文件系统的访问

RDD(Resilient Distributed Dataset)

Spark中用RDD这样一个概念来包装数据输入和数据处理。

  • 数据全集被分割为多个正相交的数据子集,每个数据子集可以被派发到任一计算节点进行处理
  • 计算的中间结果会被保存。处于可靠性考虑,同一个计算结果会被保存于多个计算节点
  • 如果其中某一数据自己在处理中出现问题,针对该数据子集的处理会被重新调度进而重新处理
  • 如果其中某一数据子集在处理中出现问题,针对该数据自己的处理会被重新调度进而重新处理

RDD与Dataset以及DataFrame之间的差别与联系 来源:InfoQ

  • 什么情况下使用RDD?

    • 对数据集进行最基本的转化、处理和控制
    • 数据是非结构化的,比如流媒体或字符流
    • 想通过函数式编程而不是特定领域内的表达来处理数据
    • 不希望像进行列式处理一样定义一个模式,通过名字或字段来处理或访问数据属性
    • 不在意通过DataFrame和DataSet进行结构化和半结构化数据处理所能获得的一些优化和性能上的好处
  • DataFrame

    • 数据都被组织到有名字的列中,就像关系型数据库中的表一样
  • Dataset API优点

    • 静态类型与运行时类型安全
    • 关于结构化和半结构化数据的高级抽象和定制视图
    • 性能与优化

Operation

Operation分为两种类型,一种是transformation,另一种是action。

transformation是领取任务的过程,而action是真正出发执行的过程。action是出发将规划以任务(job)的形式提交给计算引擎,有计算引擎将其转换为多个task然后分发到相应的计算节点,开始真正的逻辑处理的过程

运行框架

作业提交

Spark在接收到提交的作业后,会进行如下处理:

  • RDD之间的依赖性分析。RDD之间的依赖形一个有向无环图DAG,依赖关系的分析和判断由DAGScheduler负责
  • 根据DAG的分析结果将一个作业分成多个Stage。划分stage的一个主要依据就是当前的计算银子输入是否是确定的,如果是则分在同一个stage之中
  • DAGScheduler在确定完stage之后,会向TaskScheduler提交任务集(Taskset),而TaskScheduler负责将这些任务一一分发到集群的计算节点(Executor)

集群的节点构成

1532597240220.png

Spark Repl综述

Scala已经拥有Repl,但是因为原生的Repl使用Object来封装输入的代码,在反序列化过程中,对象的构造函数会被再次调用,我们希望生成的是Class而不是Object

序列化和反序列化的概念来源:菜鸟教程博客园

Java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的而数据,有关对象的类型的信息和存储在对象中的数据类型可以用来在内存中新建对象。整个过程都是Java虚拟机(JVM)独立完成的,也就是说,在一个平台上序列化的对象可以在另一个完全不同的平台上反序列化该对象。

类ObjectInputStream和ObjectOutputStream是高层次的数据流,它们包含反序列化和序列化对象的方法。

对象的序列化主要两种用途:

  • 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中:Web中的session对象,当有10万个用户并发访问,内存吃不消,Web容器会先把一些session先序列化的硬盘中,要用了再还原
  • 在网络上传送对象的字节序列:进程间远程通信

对象序列化的步骤:(类实现Serializable接口)

  • 创建一个对象输出流,如文件输出流
  • 通过对象输出流的writeObject()方法写对象

对象反序列化的步骤:

  • 创建一个对象输入流,如文件输入流
  • 通过对象输入流的readObject()方法读取对象

spark入门 spark 序列化与反序列化



失学失业还秃头


文章归档