mzl9039

已无岁月可回头

线性回归建模

基本概念 样本 $\{ (x^{(i)}, y^{(i)}) \}$ 是一个训练样本,$\{ (x^{(i)}, y^{(i)}); i=1, \dots, N \}$ 是训练样本集 $\{ (x^{(i)}_1, x^{(i)}_2, y^{(i)}) \}$ $\rightarrow$ $\{ (\boldsymbol{X}^{(i)}, y^{(i)}) \}$, \(...

添加 MathJax.js

通过 js 渲染数学公式 最近在读论文,很多情况下,需要在 markdown 下渲染数学公式,因为在这里记录下在博客中实现数学公式渲染的方法。 百度一把知道,目前基本上都是用 MathJax.js 完成的,基本方法就是在 head 标签中引入js文件: <script type="text/javascript" src="http://cdn.mathjax.org/mathja...

Markdown中编写Latex数学公式

本文不讲具体内容,只把相关参数的链接放上来: Markdown 中编写Latex数学公式 Markdown 分段函数写法 Markdown 公式编辑学习笔记 Markdown 公式(二)

Spark MemoryManager 内存管理

MemoryManager 内存管理 spark 是一个基于内存的分布式计算引擎,虽然 spark 也支持磁盘存储,但其主要的优势在于充分利用内存计算,因此理解它的内存管理原理非常重要。 另外由于它本身也对内存的使用和管理进行了一系列的优化,因此理解这些优化点,对于深入理解 spark 的内存管理模型、甚至自己开发程序都很有帮助。 内存的使用和管理,个人认为可以分成两个不同的问题: ...

Spark Shuffle 原理

Spark shuffle 原理 关于 shuffle 是什么,本文就不再介绍了,想了解的自己百度。 简而言之:在分布式环境下,shuffle 是造成性能差的主要原因。所以,了解 shuffle 的原理,以及了解针对 shuffle 的优化,是学习分布式计算迈不过去的槛儿。 常见的分布式计算框架,主要是 hadoop 的 Map/Reduce 和 spark。在 spark 刚推出的...

MapOutputTracker 原理

MapOutputTracker 说明 spark 中每个 stage 的每个 map/reduce 任务都会有唯一的标识,分别为 mapId 和 reduceId. spark 中每个 shuffle 过程都有唯一的标识,称为 shuffleId. MapOutputTracker 用于跟踪 stage 的 map 阶段的任务输出的位置,这个位置便于 reduce 阶段任务获取 中...

大数据待分析的问题

常见大数据组件需要分析的问题

常见大数据组件待分析的问题 Spark Broadcast 底层原理,如分发到 executor 的过程和 task 从 executor 获取的方式等。 Accumulator 基本用法和底层原理,如在 task 中如何使用和实现等。 MapOutputTracker 底层原理、作用、实现方式,如何在 spark 集群中起作用。 Coordinator 相关的类的作用。...

Broadcast 分发与获取

Broadcast 分布与 Task 获取

Broadcast 分发与获取 Spark 广播变量 Broadcast 是 spark 分布式计算中很常用的一种变量分发形式, 广播是指将数据从一个节点分发到其它节点,供 Task 计算使用。 它的数据通常是配置文件,map数据集等,但不适合存放过大的数据,这容易导致网络IO性能差或单点压力。 它是 spark 分布式计算优化的一种常见方式:我们知道,分布式计算是以 Task 为单位...

Spark Stage 划分

stage 划分分析

Stage 划分 前面的博客分析了 job 提交的流程,但 job 提交的过程中,对 stage 的划分,只是简单提到了,并没有详细分析。 从前文中,我们知道提交 spark job 是在触发了 action 算子后,触发了 sc 的 runJob 方法,这个方法调用 dagScheduler 的 runJob 方法来执行,然后调用 submitJob 方法,并在这个方法中,触发事件 J...

记一次 zk session 超时异常

  一次诡异的 zk session 超时异常分析

排查 zk session 超时的异常 zk session 超时 上周四,性能测试童鞋告诉我,说我们后端的大数据应用报错。都是跑了一会儿才报错,刚开始是好的。 那个应用是个 tomcat 应用,提供了几个 web service 接口,主要作用是通过 es 来查询数据,然后通过 spark app 去 hbase 里拉取数据返回给平台。由于任务执行过程可能超过 10s,所以不能马上...