颠覆大数据分析之第二章结束语

颠覆大数据分析之第二章结束语

译者:黄经业    购书

本章讨论了一些业务场景,以及它们在BDAS框架中的实现。同时还介绍了什么是BDAS框架,并重点介绍了Spark, Shark,以及Mesos。Spark在那些涉及到优化的场景中非常有用——比如说Ooyala希望基于约束条件来动态地选择最优的CDN,以便提升视频的用户体验。必须注意的是,正如第一章所说的,众所周知,约束及变量过多的优化问题是很难在Hadoop MR中解决的。随机法要更适合Hadoop。不过你应当时刻牢记一点,Hadoop很难解决优化问题指的是它很难高效地实现规模化。

诸如MPI这些传统的并行编程工具或者Spark这类的新范式则非常适用于这类优化的问题,它们能够高效地进行扩展。另有数位研究人员也同时指出,Hadoop并不擅长迭代式机器学习算法,包括发明了Spark的伯克利的研究人员,以及GraphLab的研究人员,还有加州大学圣巴巴拉分校的MapScale团队。Satish Narayana Srirama教授在他的论文中就这个问题进行了深入的讨论(Srirama等2012)。最主要的原因就是它缺少长期存活的MR以及内存编程的支持。每一次MR迭代都要启动新的MR作业,并将数据从HDFS中拷贝到内存里,然后进行迭代,再将数据写回到HDFS,检查迭代是否终止…每次迭代都重复这些会带来显著的开销。

MPI提供了一个叫做All-Reduce的结构,它使得值可以在集群节点间累加和广播。Hadoop上唯一的一个解决了一类优化问题的高效实现来自于Vowpal Wabbit的团队,他们提供了基于Hadoop的All-Reduce结构的一个实现(Agarwal等2013)。

对于另一类稍微不同的场景Shark则非常有用:它可以不用进行预计算就能执行大规模的低延迟即席查询。Ooyala在视频数据上进行的这类查询就非常明显,比如某个国家的移动用户的热门内容或者其它的动态趋势的查询。

Mesos是一个可以管理集群资源的资源管理器,这个集群可能会运行着多种框架,包括Hadoop, Spark, 或者Storm。在数据仓库环境中这个非常有用,比如说,Hadoop可以用于ETL而Spark可以用来运行机器学习算法。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 颠覆大数据分析之第二章结束语

  • Trackback 关闭
  • 评论 (0)
  1. 暂无评论

return top