大数据~~Spark
一尘在心
这个作者很懒,什么都没留下…
展开
-
Spark学习之路 (二十三)SparkStreaming的官方文档
目录一、SparkCore、SparkSQL和SparkStreaming的类似之处 二、SparkStreaming的运行流程 2.1 图解说明 2.2 文字解说 三、SparkStreaming的3个组成部分 四、 离散流(DStream) 五、小栗子 5.1 简单的单词计数 5.2 监控HDFS上的一个目录 5.3 第二次运行的时候更新原先的结果 5.4 ...转载 2019-11-07 09:38:23 · 181 阅读 · 0 评论 -
Spark学习之路 (二十)SparkSQL的元数据
目录一、概述 二、Spark-SQL脚本正文回到顶部一、概述SparkSQL 的元数据的状态有两种:1、in_memory,用完了元数据也就丢了2、hive , 通过hive去保存的,也就是说,hive的元数据存在哪儿,它的元数据也就存在哪儿。 换句话说,SparkSQL的数据仓库在建立在Hive之上实现的。我们要用SparkSQL去构建数据仓库的时候,必...原创 2019-11-07 09:37:34 · 574 阅读 · 0 评论 -
Spark学习之路 (二十七)图简介
目录一、图 1.1 基本概念 二、术语 2.1 顶点和边 2.2 有向图和无向图 2.3 有环图和无环图 2.4 度、出边、入边、出度、入度 2.5 超步 三、图处理技术 3.1 图数据库 3.2 图数据查询 3.3 图数据分析 3.4 图数据可视化 正文回到顶部一、图1.1 基本概念图是由顶点集合(vertex)及...原创 2019-11-07 09:33:55 · 217 阅读 · 0 评论 -
Spark学习之路 (二十八)分布式图计算系统
目录一、引言 二、图存储模式 2.1 边分割(Edge-Cut) 2.2 点分割(Vertex-Cut) 2.3 对比 三、图计算模式 3.1 超步 3.2 Pregel模型——像顶点一样思考 3.3 GAS模型——邻居更新模型 正文回到顶部一、引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计...原创 2019-11-07 09:32:05 · 526 阅读 · 0 评论 -
Spark学习之路 (十九)SparkSQL的自定义函数UDF
在Spark中,也支持Hive中的自定义函数。自定义函数大致可以分为三种:UDF(User-Defined-Function),即最基本的自定义函数,类似to_char,to_date等 UDAF(User- Defined Aggregation Funcation),用户自定义聚合函数,类似在group by之后使用的sum,avg等 UDTF(User-Defined Table-G...转载 2019-11-07 09:31:06 · 156 阅读 · 0 评论 -
Spark学习之路 (十八)SparkSQL简单使用
目录一、SparkSQL的进化之路 二、认识SparkSQL 2.1 什么是SparkSQL? 2.2 SparkSQL的作用 2.3 运行原理 2.4 特点 2.5 SparkSession 2.7 DataFrames 三、RDD转换成为DataFrame 3.1 方式一:通过case class创建DataFrames(反射) 3.2 方式...转载 2019-11-06 16:59:56 · 119 阅读 · 0 评论 -
Spark学习之路 (十七)Spark分区
目录一、分区的概念 二、为什么要进行分区 三、Spark分区原则及方法 3.1 本地模式 3.2 YARN模式 四、分区器正文回到顶部一、分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准...转载 2019-11-06 16:47:15 · 224 阅读 · 0 评论 -
Spark学习之路 (十六)SparkCore的源码解读(二)spark-submit提交脚本
目录一、概述 二、源码解读 2.2 find-spark-home 2.3 spark-class 2.4 SparkSubmit 正文回到顶部一、概述上一篇主要是介绍了spark启动的一些脚本,这篇主要分析一下Spark源码中提交任务脚本的处理逻辑,从spark-submit一步步深入进去看看任务提交的整体流程,首先看一下整体的流程概要图:回到顶部...转载 2019-11-06 16:21:33 · 183 阅读 · 0 评论 -
Spark学习之路 (十五)SparkCore的源码解读(一)启动脚本
目录一、启动脚本分析 1.1 start-all.sh 1.2 start-master.sh 1.3 spark-config.sh(1.2的第5步) 1.4 load-spark-env.sh(1.2的第6步) 1.5 spark-env.sh 1.6 spark-daemon.sh 1.7 spark-class 1.8 start-slaves.sh...转载 2019-11-06 16:14:00 · 152 阅读 · 0 评论 -
Spark学习之路 (十四)SparkCore的调优之资源调优JVM的GC垃圾收集器
目录一、概述 二、垃圾收集器(garbage collector (GC)) 是什么? 三、为什么需要GC? 四、为什么需要多种GC? 五、对象存活的判断 六、垃圾回收算法 6.1 标记 -清除算法 6.2 复制算法 6.3 标记-整理算法 6.4 分代收集算法 七、垃圾收集器 7.1 Serial收集器 7.2 ParNew收集器 7.3 Parall...原创 2019-11-06 16:02:33 · 177 阅读 · 0 评论 -
Spark学习之路 (十三)SparkCore的调优之资源调优JVM的基本架构
目录一、JVM的结构图 1.1 Java内存结构 1.2 如何通过参数来控制各区域的内存大小 1.3 控制参数 1.4 JVM和系统调用之间的关系 二、JVM各区域的作用 2.1 Java堆(Heap) 2.2 方法区(Method Area) 2.3 程序计数器(Program Counter Register) 2.4 JVM栈(JVM Stacks)...原创 2019-11-06 15:09:52 · 122 阅读 · 0 评论 -
Spark学习之路 (十二)SparkCore的调优之资源调优
目录一、概述 二、Spark作业基本运行原理 三、资源参数调优 3.1 num-executors 3.2 executor-memory 3.3 executor-cores 3.4 driver-memory 3.5 spark.default.parallelism 3.6 spark.storage.memoryFraction 3.7 spark.shu...原创 2019-11-06 14:43:17 · 103 阅读 · 0 评论 -
Spark学习之路 (十一)SparkCore的调优之Spark内存模型
目录一、概述 二、堆内和堆外内存规划 2.1 堆内内存 2.2 堆外内存 2.3 内存管理接口 三、内存空间分配 3.1 静态内存管理 3.2 统一内存管理 四、存储内存管理 4.1 RDD 的持久化机制 4.2 RDD 缓存的过程 4.3 淘汰和落盘 五、 执行内存管理 5.1 多任务间内存分配 5.2 Shuffle 的内存占用 ...原创 2019-11-06 11:45:55 · 168 阅读 · 0 评论 -
Spark学习之路 (九)SparkCore的调优之数据倾斜调优
目录调优概述 数据倾斜发生时的现象 数据倾斜发生的原理 如何定位导致数据倾斜的代码 某个task执行特别慢的情况 某个task莫名其妙内存溢出的情况 查看导致数据倾斜的key的数据分布情况 数据倾斜的解决方案 解决方案一:使用Hive ETL预处理数据 解决方案二:过滤少数导致倾斜的key 解决方案三:提高shuffle操作的并行度 解决方案四:两阶段聚合(局...转载 2019-11-06 10:22:57 · 98 阅读 · 0 评论 -
Spark学习之路 (十)SparkCore的调优之Shuffle调优
目录一、概述 二、shuffle的定义 三、ShuffleManager发展概述 四、HashShuffleManager的运行原理 4.1 未经优化的HashShuffleManager 4.2 优化后的HashShuffleManager 五、SortShuffleManager运行原理 5.1 普通运行机制 5.2 bypass运行机制 六、shuffle相...原创 2019-11-06 10:23:53 · 133 阅读 · 0 评论 -
Spark学习之路 (八)SparkCore的调优之开发调优
目录调优概述 原则一:避免创建重复的RDD 一个简单的例子 原则二:尽可能复用同一个RDD 一个简单的例子 原则三:对多次使用的RDD进行持久化 对多次使用的RDD进行持久化的代码示例 Spark的持久化级别 如何选择一种最合适的持久化策略 原则四:尽量避免使用shuffle类算子 Broadcast与map进行join代码示例 原则五:使用map-s...转载 2019-11-05 18:34:28 · 126 阅读 · 0 评论 -
Spark技术原理
https://blog.csdn.net/qq_38265137/article/details/80547745原创 2019-11-05 17:29:56 · 114 阅读 · 0 评论 -
Spark(二)CentOS7.5搭建Spark2.3.1分布式集群
一 下载安装包1官方下载官方下载地址:http://spark.apache.org/downloads.html2 安装前提Java8 安装成功 zookeeper 安装参考:CentOS7.5搭建Zookeeper3.4.12集群 hadoop 安装参考:CentOS7.5搭建Hadoop2.7.6集群 Scala ...转载 2019-11-05 11:06:23 · 135 阅读 · 0 评论 -
Spark(一)Spark简介
一、官网介绍1 什么是Spark官网地址:http://spark.apache.org/Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行计算框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于M...原创 2019-11-05 11:03:25 · 659 阅读 · 0 评论 -
Spark学习之路 (七)Spark 运行流程
目录一、Spark中的基本概念 二、Spark的运行流程 2.1 Spark的基本运行流程 三、Spark在不同集群中的运行架构 3.1 Spark on Standalone运行过程 3.2 Spark on YARN运行过程 正文回到顶部一、Spark中的基本概念(1)Application:表示你的应用程序(2)Driver:表示main()函数...原创 2019-10-30 15:13:02 · 132 阅读 · 0 评论 -
Spark学习之路 (六)Spark Transformation和Action
目录Transformation算子 基本的初始化 一、map、flatMap、mapParations、mapPartitionsWithIndex 1.1 map 1.2 flatMap 1.3 mapPartitions 1.4 mapPartitionsWithIndex 二、reduce、reduceByKey 2.1 reduce 2.2 red...转载 2019-10-30 12:32:37 · 146 阅读 · 0 评论 -
Spark学习之路 (五)Spark伪分布式安装
目录一、JDK的安装 1.1 上传安装包并解压 1.2 配置环境变量 1.3 验证Java版本 二、配置配置ssh localhost 2.1 检测 2.2 生成私钥和公钥秘钥对 2.3 将公钥添加到authorized_keys 2.4 赋予authorized_keys文件600的权限 2.5 修改Linux映射文件(root用户) 2.6 验证...原创 2019-10-30 10:28:53 · 240 阅读 · 1 评论 -
Spark学习之路 (四)Spark的广播变量和累加器
目录一、概述 二、广播变量broadcast variable 2.1 为什么要将变量定义成广播变量? 2.2 广播变量图解 2.3 如何定义一个广播变量? 2.4 如何还原一个广播变量? 2.5 定义广播变量需要的注意点? 2.6 注意事项 三、累加器 3.1 为什么要将一个变量定义为一个累加器? 3.2 图解累加器 3.3 如何定义一个累加器? ...原创 2019-10-30 10:25:25 · 99 阅读 · 0 评论 -
Spark学习之路 (三)Spark之RDD
目录一、RDD的概述 1.1 什么是RDD? 1.2 RDD的属性 1.3 WordCount粗图解RDD 二、RDD的创建方式 2.1 通过读取文件生成的 2.2 通过并行化的方式创建RDD 2.3 其他方式 三、RDD编程API 3.1 Transformation 3.2 Action 3.3 Spark WordCount代码编写 3.4...原创 2019-10-29 17:44:23 · 197 阅读 · 0 评论 -
Spark学习之路 (二)Spark2.3 HA集群的分布式安装
目录一、下载Spark安装包 1、从官网下载 2、从微软的镜像站下载 3、从清华的镜像站下载 二、安装基础 三、Spark安装过程 1、上传并解压缩 2、为安装包创建一个软连接 3、进入spark/conf修改配置文件 4、配置环境变量 四、启动 1、先启动zookeeper集群 2、在启动HDFS集群 3、在启动Spark集群 4、查看...转载 2019-10-29 14:11:20 · 124 阅读 · 0 评论 -
Spark学习之路 (一)Spark初识
目录一、官网介绍 1、什么是Spark 二、Spark的四大特性 1、高效性 2、易用性 3、通用性 4、兼容性 三、Spark的组成 四、应用场景正文回到顶部一、官网介绍1、什么是Spark官网地址:http://spark.apache.org/Apache Spark™是用于大规模数据处理的统一分析引擎。从右侧最后一...原创 2019-10-29 13:51:23 · 135 阅读 · 0 评论 -
Docker 安装 Spark集群 standalone cluster
1:下载 对应文件https://github.com/gettyimages/docker-spark2:安装将下载下来的文件上传到任意目录下 楼主放在/opt下面创建standalone cluster集群 进入文件夹内执行 docker-compose up 命令进行安装 下载会需要不少时间需要耐心等待:3:运行程序...原创 2019-01-29 11:10:10 · 1017 阅读 · 0 评论 -
Spark基本原理概念 以及 spark streaming 核心原理及实践
导语spark 已经成为广告、报表以及推荐系统等大数据计算场景中首选系统,因效率高,易用以及通用性越来越得到大家的青睐,我自己最近半年在接触spark以及spark streaming之后,对spark技术的使用有一些自己的经验积累以及心得体会,在此分享给大家。本文依次从spark生态,原理,基本概念,spark streaming原理及实践,还有spark调优以及环境搭建等方面进行介绍,...原创 2018-11-12 15:45:52 · 396 阅读 · 0 评论