网易大数据平台的Spark技术实践-技术方案

时间:14-12-19 栏目:大数据 作者:爱说云网 评论:0 点击: 1,300 次

网易的实时计算需求

对于大多数的大数据而言,实时性是其所应具备的重要属性,信息的到达和获取应满足实时性的要求,而信息的价值需在其到达那刻展现才能利益最大化,例如电商网站,网站推荐系统期望能实时根据顾客的点击行为分析其购买意愿,做到精准营销。

实时计算指针对只读(Read Only)数据进行即时数据的获取和计算,也可以成为在线计算,在线计算的实时级别分为三类:Real-Time(msec/sec级)、Near Real-Time(min/hours)以及Batch(days)。 在批处理方面,MapReduce(MR)已经证明其为最有效的工具,随着MR的开源实现Hadoop为代表的大数据分析技术的普及,其在大处理方面的能 力已经得到认可,但是它更适用于对集群上大数据的批处理,并不适用于实时处理大规模流数据。为了满足实时性的要求,基于数据仓库所构建的流计算和实时性计 算框架也不断涌现,相关围绕MR的实时性优化技术也蓬勃发展,比较代表性的系统Google Dremel、Twitter Storm以及Yahoo S4等。

大数据的应用类型主要分为:批处理(Batch Processing)和流处理(Stream Processing)两方面。批处理是先存储后处理(Store-Then-Process),流处理是直接处理(Straight-Through- Processing),为提高商业智能的反映时间,目前广泛所采取的大数据处理框架,例如MR和Dryad所面向的主要是大规模数据分析,以批处理计算 为主,其实时性需求得不到满足。常用的应用有在线推荐、网页点击分析、传感网络、交通分析以及金融中的高频交易,对实时分析处理(Real Time Analytic Processing, RTAP)的需求越来显著,网易公司作为国内最大的门户网站之一,实时性也是公司目前互联网产品所应具备的重要属性。

网易大数据Spark技术应用

Spark技术代表未来数据处理的新方向,Spark是UC Berkeley AMP lab开源的类Hadoop MapReduce的通用并行计算框架,Spark基于MapReduce实现分布式计算,拥有Hadoop MapReduce具有的优点。不同于MapReduce的是,Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好 地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

在网易大数据平台中,数据存储在HDFS之后,提供Hive的数据仓库计算和查询,要提高数据处理的性能并达到实时级别,网易公司采用的是 Impala和Shark结合的混合实时技术。Cloudera Impala是基于Hadoop的实时检索引擎开源项目,其效率比Hive提高3-90倍,其本质是Google Dremel的模仿,但在SQL功能上青出于蓝胜于蓝。Shark是基于Spark的SQL实现,Shark可以比 Hive 快40倍(其论文所描述), 如果执行机器学习程序,可以快 25倍,并完全和Hive兼容。

图1和图2分别测试的计算能力和实时查询性能经过初步测试,在网易的实时计算平台,在大数据实时查询系统中,Impala在数据处理方面的速度可以 相比HIVE达到3倍到30倍的加速比,Shark可以相比HIVE达到 1.5到15倍的加速比,相比较Impala和Shark引擎,通常Impala会比Shark快一倍,这里可能会引出思考,既然Impala实时性如此 好,为何还需要Shark呢?

在设计大数据平台的时候,我们发现Impala性能不错,但是其对旧Hive的数据不兼容,因为目前的大数据应用中很多都是Hive的组织方式,而 Shark可以完全兼容旧的数据,因此在目前的数据结构中必须采用混合的数据处理模式。Hive和Impala会协同存在一段时间, Hive主要为Predefined Queries,并主要处理批处理相关作业,而Impala则处理交互的查询(AD-HOC Queries),使得大数据系统既支持OLTP,也支持OLAP,以达到实时分析处理(Real Time Analytic Processing, RTAP)的水平。

图1 网易大数据平台性能测试(Count/Sum/Avg操作)

图2网易大数据平台性能测试(Join/Ad-hoc查询操作)

总结

如果要评价2012到2013年度IT业界热词,非“大数据”一词莫属。ROI(Return On Investment)投资回报率已经演化为Return On Information,信息的回报率成为互联网公司的一个重要指标,如果所掌握的海量数据都是一堆“垃圾”,没有金矿去挖掘,那大数据也无从谈起,而提 高ROI的一个重要属性就是实时性,提高数据的反应时间需要技术做支撑和保障,网易作为中国顶尖的互联网公司之一,在大数据方面也是最早的先行者,特别实 时计算技术方面,公司很早就开始采用最新的技术来提供服务,例如Impala和Shark等,不难发现,网易的大数据系统可以灵活的选择计算实时引擎,总 体上系统在实时处理方面的能力可以提升2到15倍,这对于提升公司的生产效率有显著成效,在后续的工作中期望可以进一步提升实时级别,目前只能做到秒级, 能否达到毫秒级甚至微秒级别是将来的一个研发方向,总之对于海量数据计算、实时性方面有强烈需求的公司应用落地Spark是很好的选择。

参考资料

[1] Storm Distributed and fault-tolerant real time computation

[2] Leonardo Neumeyer, Bruce Robbins, Anish Nair, Anand Kesari. S4: Distributed Stream Computing Platform. 2010 IEEE International Conference on Data Mining Workshops (ICDMW).

[3] Cloudera Impala https://github.com/cloudera/impala

Reynold S. Xin, Josh Rosen, et al. Shark: SQL and rich analytics at scale. SIGMOD Conference 2013.

相关文章

了解用于大数据解决方案的逻辑层-技术方案...
views 1328
文中介绍的模式有助于定义大数据解决方案的参数。本文将介绍最常见的和经常发生的大数据问题以及它们的解决方案。原子模式描述了使用、处理、访问和存储大数据的典型方法。复合模式由原子模式组成,并根据大数据解决方案的范围进行分类。由于每个复合模式都有若干个维度,所以每个模式都有许多变化。复合模式使得业务和技术...
为什么社交网络中数据翻页技术复杂-技术方案...
views 1301
最近讨论的一个传统的问题,问题本身比较简单,针对key-list类型的数据,如何优化方案做到性能与成本的tradeoff。Key-list 在社交产品及面向用户的产品中非常普遍,如一个用户的好友关系 {“uid”:{1,2,3,4,5}},表示某个uid有1,2,3,4,5好友;一条微博下面的评论i...
在Docker容器之间拷贝数据:原理与操作示例...
views 1659
ocker容器可以类比成一个目录,它可以将一个应用程序运行时所依赖的所有环境(注:此应用依赖的其他的服务或程序等)打包在一起运行;同时可 以随意的对它进行“启动”、“停止”、“移动”或者“删除”等操作。Docker容器在Linux的命名空间(Namespace)机制下被激活,这样就 可以使得运行在同...
云计算支撑大数据 应用实现价值
views 1559
云计算的发展对社会管理和经济发展将产生什么样的影响?大数据时代给政府、互联网公司、IT企业及行业用户带来了哪些挑战和基于?哪些领域是大数据应用的沃土? 云计算作为新一代信息技术的重要发展方向,已被广泛认为是支撑信息化应用和业务模式创新的核心,其技术与产业发展,以及应用的推广普及,对于我国深入推进两...
阿里云计算推全新大数据工具“采云间”...
views 1622
25日,阿里云计算发布大数据工具采云间——基于ODPS的简易工具解决方案。利用采云间,中小型公司不用再购买上百万元的商业智能(BI)软件,大大降低大数据分析的门槛。   采云间是一个Web端的在线工具,简称DPC(Data Process Center),内部集成了阿里数据开发者套件和商业智能套件...
云计算“三国时代”:百度有开发者,阿里靠中间人,腾讯要突围...
views 1697
云计算“三国时代”:百度有开发者,阿里靠中间人,腾讯要突围   自从2013年9月腾讯云推出之后,中国云计算市场正式进入三国时代。尽管微软、亚马逊云服务均已入华,中国三大运营商也有云计算产品,京东、新浪等“小巨头”也有云计算产品,但相比三大互联网巨头而言,它们并没有多少存在感。云计算不...
大数据时代的危害性与局限性
views 2731
2月3日消息,白宫去年曾发表书面声明称,“大数据将作为历史性的驱动因素,帮助美国持久性地促进社会与经济活力”,其创造的社会价值与经济价值得以遵从该国提倡的“隐私、公正、平等、自主”。然而事实真的如此吗?大数据时代的危害性与局限性又是否会赶超其效益性? 某知名评论人表示,白宫这一努力平衡大数据成...
6个用于大数据处理分析的最好工具
views 1494
大数据是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或EB的大小。这些数据集收集自各种各样的来源:传感器,气候信息,公开的信息,如杂志,报纸,文章。大数据产生的其他例子包括购买交易记录,网络日志,病历,军事监控,视频和图像档案,及大型...

声明: 本文由( 爱说云网 )原创编译,转载请保留链接: 网易大数据平台的Spark技术实践-技术方案

网易大数据平台的Spark技术实践-技术方案:等您坐沙发呢!

发表评论


读者排行