您的位置:首页 > 运维架构

为什么要超越Hadoop(书摘)

2016-01-29 23:23 495 查看
弈者举棋不定,不胜其耦。——左传⋅\cdot襄公

应用场景

Hadoop并不适用所有类型的应用程序:

如果数据分片是互相关联的,或者需要进行跨数据分片的计算,就很难有效运行在Hadoop上。

比如说,想象下你有多支股票,这些股票在不同时间点有不同的价格,现在需要计算这些股票间的关联度,比如你想预测某只股票什么时候会下跌(虽然在国内不靠谱,但是我还是容易想到AR模型),如果不同块中存储了不同的股票,你必须计算不同块中股票的关联性。

Hadoop MR不适合于迭代计算。有两个原因:一是每次迭代从HDFS中获取数据的开销,尽管可以通过分布式的缓存来分摊,另一个是Hadoop中缺乏长期存活的MR作业,通常在MR作业外,必须执行终止条件检查,以便判断计算是否完成,所以Hadoop在每次迭代中,都需要初始化新的MR作业。 ——初始化开销可能会超过迭代计算本身,并可能导致显著的性能问题。

七大任务:

1. 基础分析 计算均值、中值、方差以及次序统计量和计数等

2. 线性代数运算(线性回归是Hadoop可解的,在mahout中有相关实现,但是PCA并不容易实现,核PCA和核回归也不容易实现)

3. 广义的多体问题,比如距离、核,或者其他类型的点或者点集合间的关联问题,计算复杂度通常是O(N2)O(N^2)甚至是O(N3)O(N^3),典型的问题包括范围搜索,近邻搜索,非线性降维等方法。

4. 图论计算,图形式的数据点或者可以通过图来建模的问题归到这一类中。图数据的计算包括中心度、距离计算以及排序,当统计模型是一张图的时候,图的搜索就变得至关重要了,同样还有概率的计算,这些操作又被称为推理。一些可以当做线性代数问题的图论计算能够很快在Hadoop上解决,但仅限于任务2中所列出的范围,而欧几里得图问题则很难在Hadoop上实线,因为它们已经算是广义的多体问题了。

5. 优化,优化问题主要涉及函数的最小化和最大化,这些函数可以是一个目标、损失、开销或者能量的函数,随机梯度下降算法适合在Hadoop中实线,mahout中有一个随机梯度下降算法的实现,线性及二次规划问题则很难在Hadoop上实现,因为它们涉及大矩阵上的复杂迭代和操作,尤其当矩阵是高维的时候。

值得注意的是,有一个解决优化问题的方法已经被证明是Hadoop上可解的,但是需要实现一个称为All-Reduce的结构,ADMM,也被称为交替方向乘子法,见论文:

2011, A Reliable Effective Terascale Linear Learning System.

而在Hadoop上由于需要多次迭代,所以效率那么高。

6. 积分,积分在大数据分析中非常常见,比如贝叶斯推导,以及随机效应模型中都会出现它们的声影。用于低维积分的正交法可以在Hadoop中实现,但对于大数据分析问题中的贝叶斯推理中出现的高维积分而言,则不然。——解决高维积分的一个常见方法,是MCMC(关于MCMC我打算有空整理一篇博文出来),MCMC本质上是迭代式的,因为马尔科夫链需要在数次迭代后收链成平稳分布。

7. 比对问题,比如重复图片的删除,计算生物学中多重序列比对等等,简单方法就是将比对问题作为一个线性代数问题来处理,这个可以通过Hadoop实现。不过其他形式很难在Hadoop上实现了——不管是使用动态规划或是HMM。

SPARK在Hadoop的基础上,又增加了这几种支持:

1. 复杂线性代数问题

2. 泛化多体问题,比如核SVM以及核PCA

3. 某些优化问题,比如涉及共轭梯度的问题

同时Spark上的一个项目GraphX使得它能够进行图论计算。

实时性

Spark的优势还在于内存计算,它允许在各迭代/交互间将数据缓存到内存中。

需要超越Hadoop进行思考的另一个方面在于实时性分析,Hadoop本身是一个批处理系统,不太适合用于实时性分析,在这方面,来自Twitter的Storm要成熟的多

专门的数据结构

一些特定的复杂的数据结构需要特别的处理,图就是其中一个例子,Twitter、Facebook或者LinkedIn以及别的社交网站上都涉及这些图,这些网站需要在图上进行操作。

GraphBuilder 可以用来进行图的构造,随后交由GraphLab进行处理,GraphLab目前已经是最先进的图形处理范式,将GraphLab用于其他任务是将来研究的一个有趣方向。PowerGraph是增强版的GraphLab,它能更高效地处理自然图或幂律图(稀疏连接顶点很多,而密集连接顶点很少的图)

本文内容来源:

Big Data Analytics Beyond Hadoop

颠覆大数据分析,由并发编程网组织翻译 ifeve.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: