![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 81
美伊小公主的奶爸
美伊小公主的超级奶爸!
展开
-
在IDEA中调试运行Spark SQL
昨晚想通过调试的方式阅读一下Spark SQL的源码, 用spark-sql命令行需要跨进程调试,太麻烦,于是尝试了一下在IDEA中运行和调试.结果不出所料,虽然最终可以在IDEA中成功运行了,不过中间还是遇到了不少问题,在这篇文章中总结一下.应用程序比较简单:case class Person(name: String, value: String)object SparkS原创 2016-08-04 11:07:35 · 7397 阅读 · 0 评论 -
Spark描述DAG的2种Task类型解析
Spark有2个类型的Task: ShuffleMapTask和ResultTask; 设想有: Stage1 ----shuffle--------> Stage2 -----shuffle------> Stage3 Stage3就是一个ResultTask, 因为是最终的action的执行;Stage2既是1个shuffle的数据读取者, 又是原创 2016-12-30 16:31:28 · 3376 阅读 · 0 评论 -
Spark Streaming对Exactly Once的实现原理
昨天看到了这篇文章: "为什么Spark Streaming + Kafka很难保证exactly once?" 看过后,对作者对Exactly Once的理解不敢苟同,所以想写这篇文章,阐述一下我对Spark Streaming保证Exactly Once语义的理解。 Exactly Once实现的整体性 首先一个很重要的道理是: 整个系统对exactly once的保证,从来都不原创 2016-09-21 11:27:06 · 5835 阅读 · 2 评论 -
mapPartitions各部分执行流程解析
How-to: Translate from MapReduce to Apache Spark http://blog.cloudera.com/blog/2014/09/how-to-translate-from-mapreduce-to-apache-spark/这篇文章写得很好, 为从MR过渡到Spark提供了一个很好的指示.文章wen'zh中间关于如何模仿MR的cleanup原创 2016-12-30 12:15:14 · 1910 阅读 · 0 评论 -
Spark Sort Based Shuffle源码详细解析----数据流篇----Shuffle Write流
Spark Shuffle这部分的内容比较多, 可以通过以下图示的角度对内容做细分:Spark Shuffle ----> 模块架构 ----> 模块交互关系及时序 ----> 数据流 ----> Hash Based Shuffle ----> Sort Based Shuffle ----> Sh原创 2017-01-05 13:02:38 · 1813 阅读 · 0 评论 -
Spark-SQL和Hive on Spark, SqlContext和HiveContext
Hive on Spark和Spark SQL是不同的东西Hive on Spark: 是除了DataBricks之外的其他几个公司搞的,想让Hive跑在Spark上;Spark SQL: Shark的后继产品, 解除了不少Hive的依赖,且让SQL更加抽象通用化, 支持json,parquet等格式;关于Catelog和SchemaCatelog是目录的意思,从数据库方向原创 2016-12-22 15:27:53 · 8508 阅读 · 0 评论 -
从另一个角度观察Spark Shuffle过程
大部分将Spark Shuffle的文章,都是从读写过程,与MapReduce对比等角度来阐述的,容易割裂开各模块在Shuffle过程中的关系及相互配合的联系。本人在读这部分源码的过程中,认为理清Applicatoin, Job, Stage, Task, ApplicationMaster, Executor这些模块间的协作,及如何完成Shuffle中间文件的定位,是比较重要的,可以让人有整原创 2016-08-06 19:27:09 · 847 阅读 · 0 评论 -
Spark 源码调试一路通
现在越来越多的人加入到了学习 Spark 源码的队伍中来。但是如果只是单纯阅读代码,不动手亲自去跟踪和调试,往往无法很连贯地学习和理解,经常会出现无法看清代码的上下文跳转,无法理解代码含义等问题。这篇文章为大家介绍如何在真实环境中远程调试 Spark 的源码,为大家能够深入理解 Spark 核心原理铺平道路。环境先介绍一下这篇文章的环境。调试工具: IntelliJ IDE原创 2016-08-02 00:09:19 · 1059 阅读 · 1 评论 -
YARN, MR History Server和Spark History Server
YARN, MR History Server和Spark History Server三者的区别:今天听到有人说, "Yarn自带的History Server"如何如何之类的。看来还有很多人把history server当做是为YARN的应用提供服务的功能。所以我想,还是有必要梳理一下YARN, YARN中的history server,以及spark的history server。原创 2016-08-02 00:23:07 · 4265 阅读 · 0 评论 -
RDD Pipeline 源码图解
在面试候选人Spark相关知识点时, 我总喜欢问这么一个问题: 如果一个源数据有1亿行, 对这个源数据分别做map()操作和flatMap()操作, 过程是下面描述的那种流程, 为什么? 1 每读1条数据, 顺次执行map()和flatMap(), 再读取下一条; 2 对1亿条数据遍历做完map()后, 然后再重新读取一遍这1亿条数据, 做flat原创 2017-01-08 18:04:12 · 1527 阅读 · 0 评论