spark源码阅读笔记
文章平均质量分 83
legotime
这个作者很懒,什么都没留下…
展开
-
spark源码阅读笔记RDD(一)RDD的基本概念
什么是RDD?从文献1我们知道,Matei Zaharia博士给RDD下的定义是:Formally, an RDD is aread-only, partitionedcollection of records。关键词有只读、已分区记录的集合,也就是说:我们操作的RDD是一个只可读不可写的集合,而且这个集合是已经分好区且会有标记的集合。RDD怎么创建?RDD只能原创 2016-04-21 15:55:17 · 1068 阅读 · 0 评论 -
spark源码阅读笔记Dataset(二)Dataset中Actions、function、transformations
package Datasetimport org.apache.spark.sql.{DataFrame, Dataset, SparkSession}/** * Created by legotime */object dataSetOperation { case class Person(name: String, age: Long) val sparkSes原创 2016-09-17 13:19:12 · 3670 阅读 · 0 评论 -
spark源码阅读笔记Dataset(一)初识Dataset
1、Dataset 是什么本质上,Dataset在源码中是一个类(和RDD不同,Dataset为非抽象类),其中有三个参数class Dataset[T] private[sql]( @transient val sparkSession: SparkSession, @DeveloperApi @transient val queryExecution: QueryExe原创 2016-09-17 12:58:46 · 4548 阅读 · 0 评论 -
Spark从外部读取数据之wholeTextFiles
wholeTextFiles函数/** * Read a directory of text files from HDFS, a local file system (available on all nodes), or any * Hadoop-supported file system URI. Each file is read as a single record an原创 2016-07-11 06:16:03 · 11290 阅读 · 1 评论 -
Spark从外部读取数据之textFile
textFile函数 /** * Read a text file from HDFS, a local file system (available on all nodes), or any * Hadoop-supported file system URI, and return it as an RDD of Strings. */ def textFile(原创 2016-07-11 06:13:46 · 91274 阅读 · 12 评论 -
spark源码阅读笔记Spark原理(一)基本前提
分布式与集群的区别是什么?集群是个物理形态,分布式是个工作方式。集群:一堆机器,进行统一管理。集群可以运行多个分布式系统,比如同时有hadoop和spark分布式:一个程序或系统运行在不同的机器上,這些机器可以是来自同一个集群也可以是不同集群集群下编程环境的挑战有哪些?第一个是并行化: 这需要以并行的方式重写应用程序,同时这种编程模型能够处理范围广泛的的计算。然而,原创 2016-04-20 17:21:29 · 637 阅读 · 0 评论 -
spark源码阅读笔记RDD(二)RDD子类基本方法和信息
RDD子类// =======================================================================// Methods that should be implemented by subclasses of RDD// ================================原创 2016-04-22 22:01:24 · 1025 阅读 · 0 评论 -
spark源码阅读笔记RDD(三)RDD的缓存原理
1、RDD的缓存(cache和persist)spark最重要一个能力就是:在不同的操作中把数据集缓存(cache)或存留(persist)在内存(memory)中[1]。当持久化一个RDD后,每个节点都会把计算的分片的结果保存在内存中,之后可以对此数据集在其他action中再次使用。这使得后续的action变得迅速(通常快10x).原创 2016-04-23 17:52:07 · 5136 阅读 · 0 评论 -
RDD中的转换和action(一)基本函数
1基本操作:map、filter和flatmap2、伪集合操作(distinct,union,intersection,substract,cartesian)实验://伪集合操作:返回的都是RDDval rdd2 = sc.parallelize(List(5,6,5,6,7,8,9,10,11,12,13))//rdd2.distin原创 2016-04-28 11:02:57 · 720 阅读 · 0 评论 -
spark源码阅读笔记RDD(四)RDD中WithScope是什么?
withScope是最近的发现版中新增加的一个模块,它是用来做DAG可视化的(DAG visualization on SparkUI)以前的sparkUI中只有stage的执行情况,也就是说我们不可以看到上个RDD到下个RDD的具体信息。于是为了在sparkUI中能展示更多的信息。所以把所有创建的RDD的方法都包裹起来,同时用RDDOperationScope 记录 RDD 的操作历史和原创 2016-05-01 07:33:28 · 7034 阅读 · 1 评论 -
spark源码阅读笔记RDD(五) RDD中的checkpoint原理
----------------------------目录----------------------------为何需要checkpoint?checkPoint作用源码分析------------------------------------------------------------为何需要checkpoint?大家知道checkpoi原创 2016-05-01 17:05:57 · 3006 阅读 · 0 评论 -
spark源码阅读笔记RDD(六) RDD的依赖关系
RDD的依赖关系有那些?RDD的依赖关系有两种:窄依赖(narrow dependency)和宽依赖(wide dependency).可以用下图进行说明:窄依赖:一个父RDD的partition最多被一个子RDD的一个partition使用宽依赖:多个子RDD的partition会依赖同一个父RDD的partition原创 2016-05-04 17:04:07 · 1257 阅读 · 0 评论 -
spark源码阅读笔记RDD(七) RDD的创建、读取和保存
Spark支持很多输入和输入源,同时还支持内建RDD。Spark本身是基于Hadoop的生态圈,它可以通过Hadoop MapReduce所使用的InpoutFormat和OutputFormat接口访问数据。而且大部分的文件格式和存储系统(HDFS,Hbase,S3等)都支持这种接口。Spark常见的数据源如下:(1) 文件格式和文件系统,也就是我们经常用的TXT,JSON,CSV等原创 2016-05-06 10:43:49 · 4077 阅读 · 0 评论 -
RDD中的转换和action(二)PairRDD操作
package RDDimport org.apache.spark.{SparkConf, SparkContext}/** * Created by legotime on 2016/5/5. */object pairRDD { def myfunc1(index: Int, iter: Iterator[(String)]) : Iterator[String] =原创 2016-05-06 20:37:46 · 2736 阅读 · 0 评论 -
spark源码阅读笔记Dataset(三)structField、structType、schame
1、structField源码结构:case class StructField( name: String, dataType: DataType, nullable: Boolean = true, metadata: Metadata = Metadata.empty) {}-----A field inside a StructTypen原创 2016-09-23 21:13:17 · 21379 阅读 · 2 评论