本文主要讨论ApacheSpark的设计与实现,重点关注其设计思想、运行原理、实现架构及性能调优,附带讨论与HadoopMapReduce在设计与实现上的区别。
不喜欢将该文档称之为“源码分析”,因为本文的主要目的不是去解读实现代码,而是尽量有逻辑地,从设计与实现原理的角度,来理解job从产生到执行完成的整个过程,进而去理解整个系统。
讨论系统的设计与实现有很多方法,本文选择问题驱动的方式,一开始引入问题,然后分问题逐步深入。
从一个典型的job例子入手,逐渐讨论job生成及执行过程中所需要的系统功能支持,然后有选择地深入讨论一些功能模块的设计原理与实现方式。
也许这样的方式比一开始就分模块讨论更有主线。
本文档面向的是希望对Spark设计与实现机制,以及大数据分布式处理框架深入了解的Geeks。
因为Spark社区很活跃,更新速度很快,本文档也会尽量保持同步,文档号的命名与Spark版本一致,只是多了一位,最后一位表示文档的版本号。
由于技术水平、实验条件、经验等限制,当前只讨论Sparkcorestandalone版本中的核心功能,而不是全部功能。
诚邀各位小伙伴们加入进来,丰富和完善文档。
好久没有写这么完整的文档了,上次写还是三年前在学Ng的ML课程的时候,当年好有激情啊。
这次的撰写花了20+days,从暑假写到现在,大部分时间花在debug、画图和琢磨怎么写上,希望文档能对大家和自己都有所帮助。
内容本文档首先讨论job如何生成,然后讨论怎么执行,最后讨论系统相关的功能特性。
具体内容如下:Overview总体介绍Joblogicalplan介绍job的逻辑执行图(数据依赖图)Jobphysicalplan介绍job的物理执行图Shuffledetails介绍shuffle过程Architecture介绍系统模块如何协调完成整个job的执行CacheandCheckpoint介绍cache和checkpoint功能Broadcast介绍broadcast功能JobScheduling
2024/2/17 17:11:45 25.2MB Apache Spark 设计与实现 PDF
1
基于MapReduce的Apriori算法代码及其使用
2024/2/8 16:47:51 5KB MapReduce Apriori
1
GoogleMapReduce论文中文版本
2024/1/31 14:10:32 944KB mapreduce hadoop 大数据
1
mapreduce
2024/1/31 6:57:30 60KB mapreduce
1
Hadoop是一个主要由Java语言开发的项目,基于Hadoop的MapReduce程序也主要是使用Java语言来编写。
但是有一些时候,我们需要在MapReduce程序中使用C语言、C++以及其他的语言,比如项目的开发人员更熟悉Java之外的语言,或者项目已经有部分功能用其他语言实现等。
针对这些情况,我们需要研究如何在基于Java的MapReduce程序中引入其他语言。
经过调研,在MapReduce任务中使用C++程序的方法主要有三种:HadoopStreaming、HadoopPipes以及HadoopJNI。
2024/1/28 11:23:27 418KB Hadoop MapReduce C语言 数据挖掘
1
mapreduce实现apriori算法,亲测可行!需要自行下载数据集。
数据集链接如下http://fimi.ua.ac.be/data/
2024/1/14 0:06:30 90KB apriori mapreduce
1
最近在研究hadoop与mapReduce,网上教程只有个wordcount程序示范,太简单,故写了个相对复杂点的涉及到多个文件之间同时运算的矩阵乘法的代码用于实验与测试,上传供大家学习与参考。
调用方法:执行:hadoopjarmatrix.jarcom.baosight.mapred.test.MatrixMultileft:/tmp/aright:/tmp/boutput:/tmp/cleftprefix:000000_rightprefix:000000_>参数1:left:左矩阵路径>参数2:right:右矩阵路径>参数3:output:左矩阵乘右矩阵结果路径>参数4:leftprefix:左矩阵文件前缀如/tmp/a/000000_0,000000_1,000000_2……的000000_>参数5:rightprefix:右矩阵文件前缀>左右矩阵按列存储,每个文件只存放一列值,如2x2的单位矩阵,000000_0存放10000000_1存放01
2023/12/29 10:37:31 10KB hadoop mapreduce 矩阵运算
1
MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。
简单地说,MapReduce就是"任务的分解与结果的汇总"。
在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;
另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。
一个Hadoop集群中只有一台JobTracker。
在分布式计算中,MapReduce框架负责处理了并行编程中分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问
2023/12/19 16:05:55 595KB hadoopMapReduce实例解析
1
本书结合理论和实践,由浅入深,全方位介绍了Hadoop这一高性能的海量数据处理和分析平台。
全书5部分24章,第Ⅰ部分介绍Hadoop基础知识,第Ⅱ部分介绍MapReduce,第Ⅲ部分介绍Hadoop的运维,第Ⅳ部分介绍Hadoop相关开源项目,第Ⅴ部分提供了三个案例
2023/11/30 19:30:03 199.43MB hadoop 权威指南,
1
关于Hadoop自学视频的对照文档,里面包含三个文件,分别是:大数据技术之Hadoop(入门)、大数据技术之Hadoop(HDFS)、大数据技术之Hadoop(MapReduce)
2023/11/11 17:40:05 66.2MB 大数据——核心平台Hadoop
1
共 79 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡