
Spark源码解析
jim_cainiaoxiaolang
我热爱大数据开发,希望大家多交流
展开
-
Spark简介及其在ubuntu下的安装使用
Spark概述Spark 是一种与 Hadoop 相似的开源集群计算环境,在性能和迭代计算上很有看点,现在是Apache孵化的顶级项目吧。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代转载 2017-03-23 16:43:39 · 376 阅读 · 0 评论 -
Spark SQL组件源码分析
功能Spark新发布的Spark SQL组件让Spark对SQL有了别样于Shark基于Hive的支持。参考官方手册,具体分三部分:其一,能在Scala代码里写SQL,支持简单的SQL语法检查,能把RDD指定为Table存储起来。此外支持部分SQL语法的DSL。其二,支持Parquet文件的读写,且保留Schema。其三,能在Scala代码里访问Hive元数据,能执行Hive语句,转载 2017-03-24 13:12:10 · 298 阅读 · 0 评论 -
一张图读通Spark源码
前段时间断断续续通读了下Spark-0.8的源码,边读边画的一张大体的流程图 ,覆盖了最重要的几个模块及其关键类。希望对源码的细化阅读有所帮助。(图片比较宽,CSDN显示不给力,可以在我的微盘下载)更新:.vsd 文件链接(全文完)转载 2017-03-24 08:55:09 · 326 阅读 · 0 评论 -
Sparrow: 适用于细粒度tasks低延迟调度的去中心化无状态分布式调度器
背景介绍Sparrow的论文收录在SOSP 2013,在网上还可以找到一份作者的talk ppt,值得一提的是作者是位PPMM。她之前发表过一篇The Case for Tiny Tasks in Compute Clusters,这篇文章我没有仔细看过,但是当时在看mesos粗细粒度模式的时候,组里有讨论过这篇论文。再结合她的github上的项目,发现她和AMP实验室里Mesos,s转载 2017-03-24 08:36:59 · 772 阅读 · 0 评论 -
Run Spark on Mesos with Zookeeper
本文面向对Spark,Mesos和Zookeeper有一点了解的读者,介绍下Run Spark on Mesos with Zookeeper的方法和一些注意点。因为Spark和Mesos的相关文档里,关于结合Zookeeper之后应该怎么改写相应URL和参数这块讲得不太清楚。版本信息Zookeeper 3.4.5 stableSpark 0.8Mesos 0.13没有转载 2017-03-24 08:35:10 · 289 阅读 · 0 评论 -
Spark-0.8新增Fair Scheduler资源调度
不同应用之间的资源调度standalone集群 默认是simple FIFO scheduler,也就是说允许接入的应用使用全量的cpu和mem。如果想要在多用户下限制,需要设置参数来控制每个应用占有的资源数,比如System.setProperty("spark.cores.max","10"), System.setProperty("spark.executor.memory ","10转载 2017-03-24 08:31:31 · 238 阅读 · 0 评论 -
Tachyon简介及目前可用性分析
简介翻译tachyon wiki上的介绍“Tachyon是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,就像Spark和 MapReduce那样。通过利用信息继承,内存侵入,Tachyon获得了高性能。Tachyon工作集文件缓存在内存中,并且让不同的 Jobs/Queries以及框架都能内存的速度来访问缓存文件”。因此,Tachyon可以减少那些需要经常使用转载 2017-03-24 08:29:44 · 319 阅读 · 0 评论 -
Spark连接Hadoop读取HDFS问题小结
Spark与hadoop版本我使用0.7.2的Spark版本,且是pre-built过的版本,支持的hadoop版本是hadoop1。在http://spark-project.org/files/上能下载的预编译过的spark版本里,凡是预编译cdh4的压缩包,下载后解压会中断,文件本身有问题。我在google论坛上发帖说明了这个问题:https://groups.google.com/fo转载 2017-03-23 20:53:32 · 322 阅读 · 0 评论 -
Hive on CDH4部署、调错及测试
环境介绍hadoop是cdh4.2.0的版本,搭建见十分钟搭建自己的hadoop2/CDH4集群hive版本可以是cdh4.2.0的hive-0.10.0,下载包(win直接下载解压会失败,建议linux下wget下载)。也可以是hive-0.9.0(shark-0.7包里自带的amp实验室提供的版本)。两个版本我都尝试了,都是可以的,使用后者这个版本比较低的hive的原因是为了使用sha转载 2017-03-23 20:51:10 · 284 阅读 · 0 评论 -
十分钟搭建自己的hadoop2/CDH4集群
版本及准备我部署的是hadoop-2.0.0-cdh4.2.0.tar.gz,下载地址为http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.2.0.tar.gz。在http://archive.cloudera.com/cdh4/cdh/4/下还可以下载到CDH hadoop生态圈内相关的包。再准备一个jdk1.6+的java环转载 2017-03-23 20:49:39 · 298 阅读 · 0 评论 -
Spark-0.8 release新增特性及看点
Spark0.8已于今天正式发布,是Spark成为Apache顶级孵化项目后第一次重大发布。主要有几方面最大的改动:MLlib机器学习库面世;支持YARN;Python的提升及API的丰富;增加webUI监控。历数这次重大更新的各个新增点,我最看重的是MLlib的发布,扩充了spark上机器学习基础算法库,MLbase也是初次正式面世,参照现有scala的实现,开发者完全可以开始着手丰富自己的sp转载 2017-03-23 20:48:22 · 237 阅读 · 0 评论 -
Shark简介、部署及编译小结
Shark简介Shark即Hive on Spark,本质上是通过Hive的HQL解析,把HQL翻译成Spark上的RDD操作,然后通过Hive的metadata获取数据库里的表信息,实际HDFS上的数据和文件,会由Shark获取并放到Spark上运算。Shark的特点就是快,完全兼容Hive,且可以在shell模式下使用rdd2sql()这样的API,把HQL得到的结果集,继续在scala环转载 2017-03-23 20:45:18 · 397 阅读 · 0 评论 -
Spark连接Hadoop读取HDFS问题小结
Spark与hadoop版本我使用0.7.2的Spark版本,且是pre-built过的版本,支持的hadoop版本是hadoop1。在http://spark-project.org/files/上能下载的预编译过的spark版本里,凡是预编译cdh4的压缩包,下载后解压会中断,文件本身有问题。我在google论坛上发帖说明了这个问题:https://groups.google.com/fo转载 2017-03-23 20:44:23 · 265 阅读 · 0 评论 -
MLBase:Spark生态圈里的分布式机器学习系统
MLBase背景MLBase是Spark生态圈里的一部分,专门负责机器学习这块(除它之外,还有负责图计算的GraphX、SQL ad-hoc查询的Shark、具备容错性查询能力的BlinkDB等)。看了MLBase的论文后,我是迫不及待想要分享一下这个ML系统。虽然对具体ML算法了解不多,但是对比类似的系统,比如Weka,Mahout而言,我感到MLBase的构想有更进一步的创新和独到之处。而转载 2017-03-23 20:40:11 · 453 阅读 · 0 评论 -
Spark实践的阶段性总结
写这篇小总结是因为前段时间是自己业余时间对Spark相关进行了些探索,接下来可能有别的同事一起加入,且会去借用一些别的服务器资源,希望可以借此理下思路。实践Spark的原因在之前Spark简介及安装的文章前面,介绍了Spark在大数据处理领域的一个定位,以及AMP实验室构建的生态圈,总之我定义Spark为一个值得研究的东西,包括他的实现语言Scala,底层的资源管理Mesos/YA转载 2017-03-23 20:35:11 · 295 阅读 · 0 评论 -
Spark on Mesos: 搭建Mesos的一些问题
资源管理系统Spark可以搭建在Mesos上或YARN上,两个都是资源管理系统。了解资源管理系统的话,可以先参看以下几篇文章:浅谈Borg/YARN/Mesos/Torca/Corona一类系统 多集群下资源共享方案介绍 统一资源管理与调度平台(系统)介绍 淘宝借助自己的第二代集群——云梯系统,把Spark部署在了YARN上,里面是淘宝技术部对Spark的一些实战小结转载 2017-03-23 20:34:25 · 317 阅读 · 0 评论 -
Spark RDDs(弹性分布式数据集):为内存中的集群计算设计的容错抽象
本文是阅读《Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing》过程中,抽了局部一些关注点翻译出来的文章,没有将全文都翻译。希望这些碎片化甚至不通顺的记录,可以帮助读者取代阅读原论文。论文地址http://www.cs.berkeley.edu/~matei/p转载 2017-03-23 20:26:39 · 403 阅读 · 0 评论 -
Spark Catalyst 源码分析
ArchitectureØ 把输入的SQL,parse成unresolved logical plan,这一步参考SqlParser的实现Ø 把unresolved logical plan转化成resolved logical plan,这一步参考analysis的实现Ø 把resolved logical plan转化成optimized logic转载 2017-03-24 13:24:59 · 308 阅读 · 0 评论