颠覆大数据分析之Shark:分布式系统上的SQL接口
译者:黄经业 购书
内存计算已经成为了海量数据分析的一个重要范式。这一点可以从两个方面来进行理解。一方面,尽管当要查询的数据达到了PB级,但是由于时间和空间的局限性,在一个集群环境上仅需64GB的缓存就能够满足绝大多数的查询(95%)。Ananthanarayanan等人在一次研究中发现了这点。另一方面,由于机器学习算法需要在数据的工作集上进行迭代,如果工作数据集在内存中,它的实现会变得非常高效。Shark本质上可以看作是一个内存型的分布式SQL系统。
Shark基于Spark提供了SQL接口。Shark的主要特性就是它的SQL接口以及它能够基于机器学习来进行分析的能力,同时还有它为SQL查询和机器学习算法所提供的细粒度的容错性。对于查询而言,即使是粗粒度的RDD也能工作得很好,因为Shark可以从失败中进行恢复,它会去重新构造集群中丢失的RDD分区。这个恢复是细粒度的,这意味着它可以在查询的过程中进行恢复,并不像并行数据库系统那样得重新执行整个查询。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/118768.html