spark
文章平均质量分 56
Perkinl
但行好事,莫问前程
展开
-
利用SparkLauncher 提交Job
调用SparkLanuncher实例的startApplication方法,但是这种方式在所有配置都正确的情况下使用运行都会失败的,原因是startApplication方法会调用LauncherServer启动一个进程与集群交互,这个操作貌似是异步的,所以可能结果是main主线程结束了这个进程都没有起起来,导致运行失败。...原创 2022-07-27 22:11:58 · 798 阅读 · 0 评论 -
大数据开发、数仓、实时数仓
最近上传的精品课程,有需要的请收藏大数据开发架构课程: https://www.bilibili.com/video/BV1GX4y1g7yM/Flink实时数仓项目实践: https://www.bilibili.com/video/BV1jv41187iP/大数据体系数据仓库建设: https://www.bilibili.com/video/BV1gh411D7md/关注公众号 ,专注于java大数据领域离线、实时技术干货定期分享!个人网站 www.lllpan.top...原创 2021-04-20 11:46:54 · 323 阅读 · 1 评论 -
Spark Shuffle运行原理
1.什么是spark shuffle?Shuffle中文意思就是“洗牌”,在Spark中Shuffle的目的是为了保证每一个key所对应的value都会汇聚到同一个分区上去聚合和处理。Shuffle 过程本质上都是将 Map 端获得的数据使用分区器进行划分,并将数据发送给对应的 Reducer 的过程。shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。因为在分布式情况下,reduc转载 2020-09-07 12:48:19 · 6258 阅读 · 1 评论 -
Adaptive让 Spark SQL 更高效更智能
本文转发自技术世界,原文链接 http://www.jasongj.com/spark/adaptive_execution/1 背景前面《Spark SQL / Catalyst 内部原理 与 RBO》与《Spark SQL 性能优化再进一步 CBO 基于代价的优化》介绍的优化,从查询本身与目标数据的特点的角度尽可能保证了最终生成的执行计划的高效性。但是执行计划一旦生成,便不可更改,即使执行过程中发现后续执行计划可以进一步优化,也只能按原计划执行CBO 基于统计信息生成最优执行计划,需要提前.转载 2020-07-16 15:58:20 · 4974 阅读 · 0 评论 -
任务提交SparkSubmit源码解析
1. 前言反反复复捣鼓了很久,终于开始学习Spark的源码了,果不其然,那真的很有趣。这里我打算一本正经的胡说八道来讲一下Spark作业的提交过程。基础mac系统基础环境如下:JDK 1.8IDEA 2019.3源码Spark 2.3.3Scala 2.11.8提交脚本# 事先准备好的Spark任务(源码example LocalPi)基于local模式b...原创 2020-04-16 13:49:02 · 4613 阅读 · 1 评论 -
大数据学习视频
课程链接地址【极限班培训】大数据hadoop+strom+spark+openstack等链接:https://pan.baidu.com/s/1fUjzNZnGbYWuOPWibB0bwA大数据实时计算系统实践Flink链接:https://pan.baidu.com/s/1I8Eaih_zH0In6MiCIV7_Vg10小时入门大数据链接:https://...原创 2020-04-02 10:08:10 · 5064 阅读 · 4 评论 -
Spark中的核心概念和任务调度
DAG在spark里每一个操作生成一个RDD,RDD之间连一条边,最后这些RDD和他们之间的边组成一个有向无环图,这个就是DAG。Spark内核会在需要计算发生的时刻绘制一张关于计算路径的有向无环图,也就是DAG。有了计算的DAG图,Spark内核下一步的任务就是根据DAG图将计算划分成任务集,也就是Stage,这样可以将任务提交到计算(节点进行真正的计算)。Spark计算的中间结果默认是...原创 2018-05-14 17:08:32 · 4313 阅读 · 0 评论 -
Spark SQL 之 Join
Spark SQL 之 Join 实现在这篇文章中:SparkSQL总体流程介绍 Join基本要素 Join基本实现流程 sort merge join实现 broadcast join实现 hash join实现 inner join left outer join right outer join full outer join left semi join le...转载 2018-06-15 19:30:04 · 4078 阅读 · 0 评论 -
Spark中的Catalyst
spark streaming依赖于 dataset dataframe,而dataset dataframe依赖于catalyst;catalyst不仅仅是sql的一个解析器引擎,应看做spark新一代的解析器引擎,扩展到spark streaming、saprk sql、graph等等;catalyst非常方便添加优化的技术,随意扩展,spark 2.x 对dataset进行编程,datase...转载 2018-06-16 22:21:16 · 6027 阅读 · 1 评论 -
Spark中的driver和Executor
Apache Spark使用最先进的DAG调度程序,查询优化器和物理执行引擎,实现批处理和流数据的高性能。这篇文章主要是对driver和executor功能上进行一个分析。驱动器节点(Driver)Spark的驱动器是执行开发程序中的 main方法的进程。它负责开发人员编写的用来创建SparkContext、创建 RDD,以及进行 RDD 的转化操作和行动操作代码的执行。如果你是用spar...原创 2018-07-05 19:21:20 · 7966 阅读 · 0 评论 -
Spark中共享变量
Spark一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是做不到的。Spark为此提供了两种共享变量,一种是Broadcast Variable(广播变量),另一种是Accumulator(累加变量)。Broadca...原创 2020-05-19 11:04:12 · 4830 阅读 · 0 评论 -
Spark中内存模型管理
一、概述Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD...转载 2018-07-18 12:08:52 · 4795 阅读 · 0 评论 -
Spark内核架构剖析
整个Spark工作流程主要分为两部分:一、创建SparkContext1.客户端在提交spark应用的机器提交一个Applicaton程序。2.通过spark-submit方式在该机器上创建一个Driver(jvm进程)。3.Driver会执行我们自己编写的Application应用程序,并会在当前机器上初始化SparkContext。4.SparkContext在初始化的...原创 2018-08-08 19:45:37 · 4460 阅读 · 0 评论