spark源码分析
hery_csnd168
hadoop工程师
展开
-
1001数据结构基本概念
基本概念本章会涉及一些基本概念,包括数据类型(DataType)、结构类型(StructType)、结构字段(StructField)及元数据(Metadata)。通过本节对这些基本概念的介绍,有利于本章后续内容的展开。DataType 简介DataType 是 Spark SQL 的所有数据类型的基本类型,Spark SQL 的所有数据类型都继承自 DataType,DataType 的继承体系...原创 2020-04-03 21:24:26 · 245 阅读 · 0 评论 -
0201初识 Spark
Spark 是一个通用的并行计算框架,由加州伯克利大学(UC Berkeley)的 AMP 实验室开发于 2009 年,并于 2010 年开源,2013 年成长为 Apache 旗下在大数据领域最活跃的开源项目之一。Spark 目前已经走过了 0.x 和 1.x 两个时代,现在正在 2.x 时代稳步发展。Spark 也是基于 map reduce 算法模型实现的分布式计算框架,拥有 Hadoop ...原创 2020-04-03 21:25:13 · 134 阅读 · 0 评论 -
1002数据源 DataSource
从 Spark 1.3.0 开始,Spark 推出了 DataFrame 的 API,与此同时 DataSource 也被引入到 Spark 中。Spark 将文本文件、CSV 文件、JSON 文件等一系列格式的输入数据都作为数据源。特质 DataSourceRegister 是对所有数据源的抽象,DataSourceRegister 的所有具体实现都被注册到了 DataSource 中。Data...原创 2020-04-03 21:24:41 · 188 阅读 · 0 评论 -
spark源码学习目录
1001数据结构基本概念1002数据源 DataSource1003检查点的实现1004RDD分析二1005数据集合Dataset1006DataFrameReader1007SparkSession 详解1008深度分析wordcount原创 2020-04-03 21:23:00 · 131 阅读 · 0 评论 -
1005数据集合 Dataset
Dataset 是特定领域对象的强类型集合,可通过功能或关系操作进行并行转换。当 Dataset 的泛型类型是 Row 时,Dataset 还可以作为 DataFrame。DataFrame 的类型定义如下。type DataFrame = Dataset[Row]有了行的数据集合,DataFrame 看起来更像是关系数据库中的表。DataFrame 是专门为了数据科学应用设计,支持从 KB 到 ...原创 2020-04-03 21:24:12 · 178 阅读 · 0 评论 -
1006DataFrameReader 详解
DataFrameReader 用于通过外部数据源的格式(如 text、CVS 等)和数据结构加载 Dataset,DataFrameReader 还提供了非常丰富的操作 DataFrame 的 API。有了DataFrame-Reader,我们就可以将各种格式的数据源转换为 Dataset 或DataFrame,进而以面向关系型数据的方式操纵各种格式的数据。DataFrameReader属性so...原创 2020-04-03 21:23:46 · 524 阅读 · 0 评论 -
1007SparkSession 详解
Spark 2.0 引入了 SparkSession,为用户提供了一个统一的切入点来使用 Spark 的各项功能。SparkSession 还提供了 DataFrame 和 Dataset 相关的 API 来编写 Spark 应用程序。SparkSession 降低了学习曲线,使得工程师可以更容易地使用 Spark。SparkSession 的属性如下。sparkContext:即 SparkCo...原创 2020-04-03 21:23:27 · 286 阅读 · 0 评论 -
1008深度分析wordcount
以 Spark 2.1.0 的 examples 项目自带的 JavaWordCount 为例,从 Java 语言出发,介绍广为人知的 word count,并展示 Spark API 的使用。通过对此例子的介绍,还将帮助读者把调度系统、计算引擎、部署模式等内容串联起来,以对 Spark 核心知识的掌握上升到一个更高的层次。JavaWordCount 的实现public final class J...原创 2020-04-03 21:28:59 · 161 阅读 · 0 评论 -
1004RDD分析二
RDD有与调度系统相关的 API,还提供了很多其他类型的 API,包括对 RDD 进行转换的 API、对 RDD 进行计算(动作)的 API 及 RDD 检查点相关的 API。转换 API 里的计算是延迟的,也就是说调用转换 API 不会向 Spark 集群提交 Job,更不会执行转换计算。只有调用了动作 API,才会提交 Job 并触发对转换计算的执行。转换 API转换(transform)是...原创 2020-04-03 21:28:31 · 201 阅读 · 0 评论 -
1003检查点checkPoint的实现
检查点是很多分布式系统为了容灾容错引入的机制,其实质是将系统运行期的内存数据结构和状态持久化到磁盘上,在需要时通过对这些持久化数据的读取,重新构造出之前的运行期状态。Spark 使用检查点主要是为了将 RDD 的执行状态保留下来,在重新执行时就不用重新计算,而直接从检查点读取。CheckpointRDD 是对检查点数据进行操作的 RDD,例如,读写检查点数据。RDDCheckpointData 表...原创 2019-10-25 11:19:39 · 194 阅读 · 0 评论 -
0906Master详解
概述 Master 是 local-cluster 部署模式和 Standalone 部署模式中,整个 Spark 集群最为重要的组件之一,它的设计将直接决定整个集群的可扩展性、可用性和容错性。Master 的职责包括 Worker 的管理、Application 的管理、Driver 的管理等。Master 负责对整个集群中所有资源的统一管理和分配,它接收各个 Worker 的注册、更新状态、...原创 2020-04-03 21:22:45 · 211 阅读 · 0 评论