![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
Spark
大数据点滴
不忘初心,方得始终。
展开
-
列转行(spark 与presto语法)
【代码】列转行(spark 与presto语法)原创 2024-04-29 17:38:57 · 310 阅读 · 2 评论 -
如何避免Spark SQL做数据导入时产生大量小文件
在纯写SQL的情景中,可以在SQL后面加上distribute by 分区字段,cast(rand() * n as int)具体详解可参考:https://mp.weixin.qq.com/s/vmdkwDl7yP7cOWvL3Mittg原创 2021-03-30 09:32:08 · 349 阅读 · 0 评论 -
Spark内核之任务调度机制及源码分析
http://blog.csdn.net/qq_16146103/article/details/108095536转载 2020-09-20 18:33:46 · 7649 阅读 · 0 评论 -
Spark内核之作业调度与任务的执行
目录一、作业的调度1、Application2、逻辑代码3、 job4、stage5、task的切分二、任务的执行1 、任务包含的内容2、 序列化3、 任务的调度4、任务的计算5、shuffle一、作业的调度1、Application1. Yarn中会有application,提交任务以后,就会产生一个应用,并有一个唯一的应用id2. 在SparkConf中配置了setAppName(xxxx),设置应用的名字3. SparkCont原创 2020-09-20 18:29:54 · 7145 阅读 · 0 评论 -
Spark内核之部署模式
目录一、YARN模式运行机制1.1 YARN Cluster模式1.2 YARN Client模式二、Standalone模式运行机制2.1 Standalone Cluster模式2.2 Standalone Client模式Spark支持多种集群管理器(Cluster Manager),分别为:Standalone:独立模式,Spark原生的简单集群管理器,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统,使用Standalone可以很方便...原创 2020-09-20 15:30:11 · 8724 阅读 · 0 评论 -
Spark内核之 Standalone模式源码解析(Master、Worker)
一、前言Standalone集群有2个重要组成部分,分别是:Master(RM):是一个进程,主要负责资源的调度和分配,并进行集群的监控等职责;Worker(NM):是一个进程,一个Worker运行在集群中的一台服务器上,主要负责两个职责,一个是用自己的内存存储RDD的某个或某些partition;另一个是启动其他进程和线程(Executor),对RDD上的partition进行并行的处理和计算。二、Master 源码org.apache.spark.deploy.master.M.原创 2020-09-20 15:06:42 · 7902 阅读 · 0 评论 -
Spark内核之YARN Cluster模式源码详解(Submit详解)
目录一、YARN Cluster模式图解二、Yarn cluster运行机制源码分析1.SparkSubmit2. yarn.YarnClusterApplication3. ApplicationMaster4. 注册ApplicationMaster并申请资源启动ExecutorBackend5. CoarseGrainedExecutorBackend6. Spark通用运行流程概述由于在实际工厂环境下使用的绝大多数的集群管理器是Hadoop YARN,...原创 2020-09-20 13:59:03 · 7461 阅读 · 0 评论 -
Spark内核之通讯架构
目录一、Spark通信架构概述二、Spark通讯架构解析一、Spark通信架构概述Spark中通信框架的发展: Spark早期版本中采用Akka作为内部通信部件。 Spark1.3中引入Netty通信框架,为了解决Shuffle的大数据传输问题使用 Spark1.6中Akka和Netty可以配置使用。Netty完全实现了Akka在Spark中的功能。 Spark2系列中,Spark抛弃Akka,使用Netty。Spark2.x版本使用Netty通讯框架作为内部通讯组件。S原创 2020-09-18 00:50:09 · 6642 阅读 · 0 评论 -
Spark内核之Shuffle解析
目录一、Shuffle的核心要点1.1 ShuffleMapStage与ResultStage1.2 HashShuffle 解析1.2.1 未优化的HashShuffle1.2.2 优化后的HashShuffle1.3 SortShuffle解析1.3.1 shuffle中的读操作源码1.3.2 shuffle中的写操作源码(SortShuffle)1.3.3 shuffle的三种handle1.3.4 shuffle的三种handle的Writer方法1...原创 2020-09-17 23:43:29 · 6887 阅读 · 0 评论 -
Spark内核之内存管理
目录一、堆内内存和堆外内存二、内存空间分配2.1 早期内存管理(静态内存管理)2.2 统一内存管理2.3 同一管理内存的优点三、存储内存管理3.1 RDD的持久化机制3.2RDD的缓存过程3.3 淘汰与落盘四、执行内存管理4.1 Shuffle Write4.2 Shuffle Read一、堆内内存和堆外内存 --1. "堆内内存": 是指jvm所能使用的内存,并不是完全可以控制,如GC垃圾回收器的执行时间是不可控的,当你需要.原创 2020-09-17 22:36:30 · 6585 阅读 · 0 评论 -
SparkSQL核心编程
Spark Core中,如果想要执行应用程序,需要首先构建上下文环境对象SparkContext,Spark SQL其实可以理解为对Spark Core的一种封装,不仅仅在模型上进行了封装,上下文环境对象也进行了封装。在老的版本中,SparkSQL提供两种SQL查询起始点:一个叫SQLContext,用于Spark自己提供的SQL查询;一个叫HiveContext,用于连接Hive的查询。SparkSession是Spark最新的SQL查询起始点,实质上是SQLContext和HiveContext原创 2020-09-10 10:56:29 · 7078 阅读 · 0 评论 -
Spark——核心编程之累加器、广播变量
目录一、累加器1、实现原理2、累加器基本介绍3、累加器的使用4、累加器的具体流程5、自定累加器5、自定义累加器实现wordcount二、广播变量1、概述2、编程实现一、累加器1、实现原理累加器用来把Executor端变量信息聚合到Driver端。在Driver程序中定义的变量,在Executor端的每个Task都会得到这个变量的一份新的副本,每个task更新这些副本的值后,传回Driver端进行merge。2、累加器基本介绍-- 1.什么是累加器原创 2020-09-06 13:54:22 · 7314 阅读 · 0 评论 -
Spark RDD的默认分区数与并行数
一、创建RDD时的默认并行度1、从外部存储(文件)创建RDD例如:local模式下val lineRDD: RDD[String] = sc.textFile("./aa,txt")默认分区(并行度):def defaultMinPartitions: Int = math.min(totalCores, 2)totalCores:任务运行的总核数源码如下:2、从集合(内存)中创建RDD例如:Yarn、Standalone模式下val valueRDD: RDD..原创 2020-09-03 16:19:39 · 7193 阅读 · 0 评论 -
Spark——Spark概述
一、Spark是什么二、Spark and Hadoop在之前的学习中,Hadoop的MapReduce是大家广为熟知的计算框架,那为什么咱们还要学习新的计算框架Spark呢,这里就不得不提到Spark和Hadoop的关系。首先从时间节点上来看:Hadoop2006年1月,Doug Cutting加入Yahoo,领导Hadoop的开发2008年1月,Hadoop成为Apache顶级项目2011年1.0正式发布2012年3月稳定版发布2013年10月发布2...原创 2020-09-02 00:49:31 · 7098 阅读 · 0 评论 -
Spark——运行架构
目录一、 运行架构二、 核心组件2.1 Driver2.2 Executor2.3 Master & Worker2.4 ApplicationMaster三、 核心概念3.1 Executor与Core3.2 并行度(Parallelism)3.3 有向无环图(DAG)四、 提交流程2.1 Yarn Client模式2.2 Yarn Cluster模式2.3Standalone模式简单图解一、 运行架构Spark框架的核心是一个计..原创 2020-09-02 00:33:17 · 6634 阅读 · 0 评论 -
Spark——核心编程之RDD与常用算子、分区器、依赖关系详解
目录一、RDD1.1 什么是RDD1.2 核心属性1.3 执行原理1.4 基础编程1.4.1 RDD创建1.4.2 RDD并行度与分区1.4.3 RDD转换算子Value类型■ map■ mapPartitions■ mapPartitionsWithIndex■ flatMap■ glom■ groupBy■ filter■ sample■ distinct■ coalesce■ ...原创 2020-09-01 23:52:54 · 8429 阅读 · 0 评论