首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Spark源码分析之Spark Shell(上)

终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧。不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的。...另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其实都可以通过这种方式来寻找源码入口。 先来介绍一下Spark-shell是什么?...Spark-shell是提供给用户即时交互的一个命令窗口,你可以在里面编写spark代码,然后根据你的命令立即进行运算。...=unix" "${SPARK_HOME}"/bin/spark-submit --class org.apache.spark.repl.Main --name "Spark shell" "...onExit 其实这个脚本只能看出来是调用了spark-submit,后续会再分析一下spark-submit的作用(它里面会调用spark-class,这才是执行方法的最终执行者,前面都是传参而已)。

1.2K100

spark源码导读一

这种也是很有针对性去看的,比如spark的shuffle调优,网上文章一大堆,但是真的去按照他们文章推荐去调优了发现大部分不奏效。...实际上,spark更新换代快,文章很容易老旧,这种情况下,就需要官网和源码,只有了解了真相才能尽可能做到最优。...又有人问,浪院长,这个源码阅读有什么先后顺序吗? 答,从上面表述来看,可以认为没有什么先后顺序。 但是,假如你就想着完整的读一下比如spark源码,那么这时候做法就有章可循了。...就是,按照自己在使用中对spark的运行原理的理解,去阅读源码核实自己的理解。 只有这样,带着疑问去读,你才有可能坚持下去而且学到很多,每一次揭秘都是成就感满满。...文章标题,说了是spark源码导读第一步,那么熟悉源码的你可以在没任何参考的情况下画出spark 的rpc的结构图吗? ?

52610

spark jobserver源码导读

最近有人问浪尖,想读一个比较大的spark项目源码,问浪尖要,浪尖只能告诉你业务相关的是基本上不会有人开源,平台相关的源码就比较多了,浪尖比较推荐的是Spark JobServer相关的源码。...改源码量比较小,而且是关于Spark API的非常适合大家去阅读,以便于帮助大家更加深刻的理解spark API的使用及运行原理相关的内容。...而且作为一个比较好的spark 服务,适合那些想用spark 作为服务的公司,免于自己开发维护一套系统。 至于推荐的原因,可以有spark jobserver的特征窥见一斑: 1....这样可以提高对象在作业间的共享和重用 关于入口浪尖建议大家可以从Spark jobserver的bin目录下手,比如server_start.sh脚本,该脚本本身就是一个spark 任务提交脚本比较好的范例...阅读源码,坚持学习,坚持进步是比较枯燥的事情,这是因为有益的事情往往是比较枯燥的,消耗的事情往往是很轻松的。就看你如何选择了 更多spark,flink等大数据技巧欢迎关注浪尖知识星球。

88310

Spark Join 源码剖析①

EliminateOuterJoin DPP 动态分区裁剪 以及 PushDownPredicates 中和 Join 相关的 predicate pushDown 二、Join 物理计划生成和选取 2.1、基本概念 在 Spark...SQL 中,参与 Join 操作的两张表分别被称为流式表(StreamTable)和构件表(BuildTable),不同表的角色在 Spark SQL 中会通过一定的策略进行设定。...在 Spark 中,BuildSide 作为一个抽象类,包含 BuildLeft 和 BuildRight 两个子类,一般在构造 Join 的执行算子时,都会传入一个 BuildSide 的构造参数。...基于统计数据) 尝试选用 shuffle hash join:如果 join 类型支持,且 join 的一侧 size 足够小能够构建 local hash map,且该侧 size 显著小于另一侧,且 spark.sql.join.preferSortMergeJoin

68640

Spark源码解析:RDD

0x00 前言 本篇是Spark源码解析的第一篇,主要通过源码分析Spark设计中最重要的一个概念——RDD。...文章结构 先回顾一下RDD的一些特征以及几个基本概念 RDD源码分析,整体的源码设计 举一个例子,通过这个例子来一步步地追踪源码。...0x02 源码分析 RDD的5个特征会对应到源码中的4个方法和一个属性。 RDD.scala是一个总的抽象,不同的子类会对下面的方法进行定制化的实现。...在正式看源码之前,上一个图。 这个图是整个流程中RDD的转换过程,这里先不讲解,后面看源码的时候如果有疑惑再回过头来看,就明白了。 ? 1....这里,我们是不是就可以理解,Hadoop中的一个分片,就对应到Spark中的一个Partition。

2.6K50

Spark源码和调优简介 Spark Core

作者:calvinrzluo,腾讯 IEG 后台开发工程师 本文基于 Spark 2.4.4 版本的源码,试图分析其 Core 模块的部分实现原理,其中如有错误,请指正。...为了简化论述,将部分细节放到了源码中作为注释,因此正文中是主要内容。...当然,内存还是要能承载一个 KV 的,我们将在稍后的源码分析中深入研究这个问题。 终于在 Spark1.1 版本之后引入了 Sorted Based Shuffle。...在 Spark 源码中建议如果希望进行 Map-side combining 的话,就指定ordering,否则就可以设置ordering为null private[spark] class ExternalSorter...:核心思想与源码分析 http://www.calvinneo.com/2019/08/06/spark-sql/ https://zhuanlan.zhihu.com/p/67068559 http:

1.1K20

Spark内核分析之Spark的HA源码分析

一一接收到来自各个Application,worker,Driver的消息以后,开始过滤掉没有响应的节点信息,然后开始调用scheduler()方法,开始为相关进程分配资源; 通过以上原理的介绍,下面看看我们的源码具体是怎么实现的...:2181 // /spark是默认的,可以不写 //spark.deploy.zookeeper.dir=/spark 设置为基于文件系统的方式: spark.deploy.recoveryMode...=FILESYSTEM spark.deploy.recoveryDirectory=/usr/local/src/spark/dataDir 总结:到这里基本上关于spark的HA的原理及实现分析就完了...,后续关于其他组件的实现及源码不定期更新,欢迎关注。...如需转载,请注明: 上一篇:Spark内核分析之SparkContext初始化源码分析 本篇:Spark内核分析之Spark的HA源码分析 下一篇:Spark内核分析之Master的注册机制实现原理

58620
领券