SparkCore
Apache Spark™ is a unified analytics engine for large-scale data processing.
weixin_43563705
将自己的所学到的知识分析给大家
展开
-
SparkCore: RDD数据源[连接JDBC,Hadoop,Hbase]
RDD数据源普通文本文件sc.textFile("./dir/*.txt") 如果传递目录,则将目录下的所有文件读取作为RDD。文件路径支持通配符。但是这样对于大量的小文件读取效率并不高,应该使用wholeTextFilesdef wholeTextFiles(path: String, minPartitions: Int = defaultMinPartitions): RDD[(...原创 2020-04-23 09:24:26 · 4682 阅读 · 2 评论 -
SparkCore:RDD累加器和广播变量(最详细的介绍)!!!!!!
RDD累加器和广播变量在默认情况下,当Spark在集群的多个不同节点的多个任务上并行运行一个函数时,在每个任务上都生成一个副本。但是,有时候需要在多个任务之间共享变量,或者在任务(Task)和任务控制节点(Driver Program)之间共享变量。为了满足这种需求,Spark提供了两种类型的变量:1.累加器accumulators:累加器支持在所有不同节点之间进行累加计算(比如计数或者求和...原创 2020-04-23 09:11:26 · 4598 阅读 · 2 评论 -
SparkCore:Spark原理初探(执行流程图)
基本概念名词解释Application:指的是用户编写的Spark应用程序/代码,包含了Driver功能代码和分布在集群中多个节点上运行的Executor代码。Driver:Spark中的Driver即运行上述Application的Main()函数并且创建SparkContext,SparkContext负责和ClusterManager通信,进行资源的申请、任务的分配和...原创 2020-04-23 09:04:38 · 5548 阅读 · 2 评论 -
SparkCore:RDD-DAG的生成和划分Stage
DAG介绍DAG(Directed Acyclic Graph有向无环图)指的是数据转换执行的过程有方向,无闭环(其实就是RDD执行的流程)原始的RDD通过一系列的转换操作就形成了DAG有向无环图,任务执行时,可以按照DAG的描述,执行真正的计算(数据被操作的一个过程)DAG的边界开始:通过SparkContext创建的RDD结束:触发Action,一旦触发Action就形成了一个完整的...原创 2020-04-23 08:57:13 · 4199 阅读 · 1 评论 -
SparkCore:RDD依赖关系(宽窄依赖)内含详细图解!!!!!!!
宽窄依赖两种依赖关系类型RDD和它依赖的父RDD的关系有两种不同的类型,即宽依赖(wide dependency/shuffle dependency)窄依赖(narrow dependency)图解如何区分宽窄依赖窄依赖:父RDD的一个分区只会被子RDD的一个分区依赖宽依赖:父RDD的一个分区会被子RDD的多个分区依赖(涉及到shuffle)为什么要设计宽窄依赖对...原创 2020-04-23 08:52:28 · 3860 阅读 · 2 评论 -
SparkCore:RDD容错机制Checkpoint
RDD容错机制Checkpoint引入:持久化的局限持久化/缓存可以把数据放在内存中,虽然是快速的,但是也是最不可靠的;也可以把数据放在磁盘上,也不是完全可靠的!例如磁盘会损坏等。问题解决Checkpoint的产生就是为了更加可靠的数据持久化,在Checkpoint的时候一般把数据放在HDFS上t,这就天然的借助了HDFS天生的高容错、高可靠来实现数据最大程度上的安全,实现了RDD的容错...原创 2020-04-23 08:38:56 · 3551 阅读 · 2 评论 -
SparkCore:RDD的持久化/缓存
持久化/缓存RDD的持久化/缓存持久化/缓存API详解代码演示总结RDD的持久化/缓存引入:在实际开发中某些RDD的计算或转换可能会比较耗费时间,如果这些RDD后续还会频繁的被使用到,那么可以将这些RDD进行持久化/缓存,这样下次再使用到的时候就不用再重新计算了,提高了程序运行的效率持久化/缓存API详解Persist方法和Cache方法RDD通过persist或cache方法可...原创 2020-04-23 08:19:01 · 4305 阅读 · 2 评论 -
SparkCore:RDD-API史上最详细操作(内含面试题)
RDD-API创建RDD三种方法RDD的方法/算子分类Transformation转换算子Action动作算子统计操作基础练习[快速演示]准备工作案例1. WordCount2. 创建RDD3. 查看该RDD的分区数量4. map5. filter6. flatmap7. sortBy8. 交集、并集、差集、笛卡尔积9. Join10. groupbykey11. cogroup[了解]...原创 2020-04-23 00:57:35 · 5541 阅读 · 1 评论 -
SparkCore:RDD史上最详细的解释
RDD详解1.1. 什么是RDD为什么要有RDD?在许多迭代式算法(比如机器学习、图算法等)和交互式数据挖掘中,不同计算阶段之间会重用中间结果,即一个阶段的输出结果会作为下一个阶段的输入。但是,之前的MapReduce框架采用非循环式的数据流模型,把中间结果写入到HDFS中,带来了大量的数据复制、磁盘IO和序列化开销。且这些框架只能支持一些特定的计算模式(map/reduce),并没有提...原创 2020-04-23 00:02:58 · 3639 阅读 · 1 评论