随笔分类 - Spark RDD/Core概念学习系列
摘要:不多说,直接上干货! SparkSQL 与 Spark Core的关系 Spark SQL构建在Spark Core之上,专门用来处理结构化数据(不仅仅是SQL)。 Spark SQL在Spark Core的基础上针对结构化数据处理进行很多优化和改进, 简单来讲: Spark SQL 支持很多种结构
阅读全文
摘要:不多说,直接上干货! RDD的五大特征 分区 partitions 依赖 dependencies() 计算函数 computer(p,context) 分区策略(Pair RDD)-- partitioner() 本地性策略 preferredLocations(p)
阅读全文
摘要:不多说,直接上干货! Pair RDD的分区控制 Pair RDD的分区控制 (1) Spark 中所有的键值对RDD 都可以进行分区控制 自定义分区 (2)自定义分区的好处: 1) 避免数据倾斜 2) 控制task并行度 自定义分区方式
阅读全文
摘要:不多说,直接上干货! Pair RDD的action操作 所有基础RDD 支持的行动操作也都在pair RDD 上可用
阅读全文
摘要:不多说,直接上干货! Pair RDD的transformation操作 Pair RDD转换操作1 Pair RDD 可以使用所有标准RDD 上转化操作,还提供了特有的转换操作。 Pair RDD转换操作2
阅读全文
摘要:不多说,直接上干货! 什么是Pair RDD (1)包含键值对类型的RDD被称作Pair RDD。 (2)Pair RDD通常用来进行聚合计算。 (3)Pair RDD通常由普通RDD做ETL转换而来。 关于ETL的知识,请移步 http://www.cnblogs.com/zlslch/categ
阅读全文
摘要:不多说,直接上干货! action操作
阅读全文
摘要:不多说,直接上干货! transformation操作 惰性求值 (1)RDD 的转化操作都是惰性求值的。这意味着在被调用行动操作之前Spark不会开始计算。 (2)读取数据到RDD的操作也是惰性的。 (3)惰性求值的好处: a. Spark 使用惰性求值可以把一些操作合并到一起来减少计算数据的步骤
阅读全文
摘要:不多说,直接上干货! 创建RDD 方式一:从集合创建RDD (1)makeRDD (2)Parallelize 注意:makeRDD可以指定每个分区perferredLocations参数,而parallelize则没有。 方式二:读取外部存储创建RDD Spark与Hadoop完全兼容,所以对Ha
阅读全文
摘要:不多说,直接上干货!
阅读全文
摘要:不多说,直接上干货!
阅读全文
摘要:不多说,直接上干货!
阅读全文
摘要:不多说,直接上干货!
阅读全文
摘要:Spark SQL构建在Spark Core之上,专门用来处理结构化数据(不仅仅是SQL)。即Spark SQL是Spark Core封装而来的! Spark SQL在Spark Core的基础上针对结构化数据处理进行很多优化和改进, 简单来讲: Spark SQL 支持很多种结构化数据源,可以让你
阅读全文
摘要:本博文的主要内容: 1、Hash Shuffle彻底解密 2、Shuffle Pluggable解密 3、Sorted Shuffle解密 4、Shuffle性能优化 一:到底什么是Shuffle? Shuffle中文翻译为“洗牌”,需要Shuffle的关键性原因是某种具有共同特征的数据需要最终汇聚
阅读全文
摘要:本期内容: 1、RDD依赖关系的本质内幕 2、依赖关系下的数据流视图 3、经典的RDD依赖关系解析 4、RDD依赖关系源码内幕 1、RDD依赖关系的本质内幕 由于RDD是粗粒度的操作数据集,每个Transformation操作都会生成一个新的RDD,所以RDD之间就会形成类似流水线的前后依赖关系;在
阅读全文
摘要:1、rdd持久化 2、广播 3、累加器 1、rdd持久化 通过spark-shell,可以快速的验证我们的想法和操作! 启动hdfs集群 spark@SparkSingleNode:/usr/local/hadoop/hadoop-2.6.0$ sbin/start-dfs.sh 启动spark集群
阅读全文
摘要:RDD的容错机制 RDD实现了基于Lineage的容错机制。RDD的转换关系,构成了compute chain,可以把这个compute chain认为是RDD之间演化的Lineage。在部分计算结果丢失时,只需要根据这个Lineage重算即可。 图1中,假如RDD2所在的计算作业先计算的话,那么计
阅读全文
摘要:细谈RDD的弹性 所谓,弹性,是指在内存不够时可以与磁盘进行交换。 弹性之一:自动的进行内存和磁盘数据存储的切换 弹性之二:基于Lineage(血缘)的高效容错 弹性之三:Task如果失败会自动进行特定次数的重试 弹性之四:Stage如果失败会自动进行特定次数的重试,而且只会计算失败的分片 弹性之五
阅读全文