本文主要讨论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
详细介绍SURF算法,以及opencv的源码分析,并给出应用实例。
2024/2/13 23:08:09 1.32MB opencv surf 计算机视觉
1
高性能的可插拔式网关
2024/2/8 16:17:34 679KB 网关
1
设计模式在JDK中的应用课设--PPT资源题目要求:设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。
课设内容包括:(a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的结构加以对比;
(b)举例并演示相关类的应用;
(c)至少5种设计模式。
2023/12/26 12:05:20 1.63MB 设计模式 JDK PPT java
1
Linux0.11源码分析V1.0
2023/12/24 22:45:21 2KB Linux头文件的作用
1
Jquery1.2.6源码分析及源码文件博文链接:https://jljlpch.iteye.com/blog/234218
2023/11/27 3:17:34 661KB 源码 工具
1
深入分析Spring源码(第一阶段),设计模式
2023/11/25 8:48:05 493KB Spring源码 Java开发
1
ping的源码分析,有需要的看一下,学习。
2023/11/13 23:27:25 88KB ping 源码分析
1
这是一本Android网络编程方面的专著,旨在帮助开发者们高效地编写出高质量的Android网络应用。
不仅系统讲解了Android网络编程的各项核心技术和功能模块,通过多个案例解读了Android网络编程的方法和技巧,而且从源码角度深入解析了Android核心网络处理方法和关键应用的实现原理,包含大量最佳实践。
  全书共11章,分为三个部分:概述篇(第1章)在介绍了Android开发平台后,重点讲解了Android网络程序的功能及开发环境的配置,引领读者走进Android网络编程的大门;
实战篇(第2~8章),详细讲解了TCP、UDP、HTTP等基本网络协议在Android上的应用,展示了使用Android处理JSON、SOAP、HTML、XML等数据的方法,讲解了Android中的RSS编程、Email编程、OAuth认证等,解析了Android中Locations、Maps、USB、Wi-Fi、Bluetooth、NFC等网络模块的编程,讨论了Android中线程、数据存取、消息缓存、界面更新等的处理方法,探讨了SIP、XMPP等协议在Android上的应用;
源码分析篇(第9~11章)分析了Android中与HTML处理、网络处理以及部分网络应用相关的源代码,帮助读者从底层原理上加深对相关知识点的理解。
1
Snort作为一个轻量级的网络入侵检测系统,在实际中应用可能会有些力不从心,但如果想了解研究IDS的工作原理,仔细研究一下它的源码到是非常不错.首先对snort做一个概括的评论。
从工作原理而言,snort是一个NIDS。
[注:基于网络的入侵检测系统(NIDS)在网络的一点被动地检查原始的网络传输数据。
通过分析检查的数据包,NIDS匹配入侵行为的特征或者从网络活动的角度检测异常行为。
]网络传输数据的采集利用了工具包libpcap。
snort对libpcap采集来的数据进行分析,从而判断是否存在可疑的网络活动。
从检测模式而言,snort基本上是误用检测(misusedetection)。
[注:该方法对已知攻击的特征模式进行匹配,包括利用工作在网卡混杂模式下的嗅探器被动地进行协议分析,以及对一系列数据包解释分析特征。
顺便说一句,另一种检测是异常检测(anomalydetection)。
]具体实现上,仅仅是对数据进行最直接最简单的搜索匹配,并没有涉及更复杂的入侵检测办法。
尽管snort在实现上没有什么高深的检测策略,但是它给我们提供了一个非常优秀的公开源代码的入侵检测系统范例。
我们可以通过对其代码的分析,搞清IDS究竟是如何工作的,并在此基础上添加自己的想法。
snort的编程风格非常优秀,代码阅读起来并不困难,整个程序结构清晰,函数调用关系也不算复杂。
但是,snort的源文件不少,函数总数也很多,所以不太容易讲清楚。
因此,最好把代码完整看一两遍,能更清楚点。
2023/9/19 7:14:15 1.45MB snort
1
共 78 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡