加入收藏 | 设为首页 | 会员中心 | 我要投稿 萍乡站长网 (https://www.0799zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

网易大数据平台架构实践分享!

发布时间:2018-09-09 15:18:45 所属栏目:大数据 来源:火龙果软件工程
导读:副标题#e# 随着网易云音乐、新闻、考拉、严选等互联网业务的快速发展,网易开始加速大数据平台建设,以提高数据获取速度,提升数据分析效率,更快发挥数据价值。 本次演讲主要分享网易如何围绕和改造开源技术,以产品化思维打造网易自己的大数据平台, 也会

二是点查和多维分析融合,一个用户的行为分析系统通常有两类需求,一是指定用户查询;二是大批量用户行为分析,这就涉及到多维分析。传统。架构需要实现结合需要HBase和HDFS Parquet二者结合,点查单个用户需要使用HBase,批量查询需要使用HDFS,显然这样的成本比较高。如果使用Kudu,因为其可以同时满足KV查询和多维分析查询,整体架构会比较简单,成本也相对较低。

三是实时维表,在互联网应用中,Hadoop会存一些用户行为日志,但还有一些数据在数据库里,比如商品、用户等维表。数据库里的数据通常会每天全量导入,实时性比较差,当然也可以选择按小时导入,但这样数据库压力会很大,如果数据库增量导入大数据平台,然后再做全量merge,实时性会比较差。

网易的解决方案是使用工具直接把数据库实时同步到Kudu,Kudu的数据可以跟Hadoop用户行为数据直接做join连查,这样整个平台的实时性会做到秒级,性能也不错。

接下来,我想介绍一下我们的实时计算系统——Sloth。Sloth是一个基于SQL开发的流计算系统,它的SQL看起来与Hive SQL类似,同样支持DDL、UDF,join子查询等。我们的流计算系统基于Flink引擎开发,通过CodeGen的方式生成Flink代码,然后同步到集群执行。

在效果上,我们做到了Exactly Once跟增量计算模型,通过实时计算SQL算出来的结果跟用离线计算出来的结果一样,这是对数据正确性的重要保证。当然,Sloth也是在猛犸大数据平台上开发的。

9

以上是Sloth的开发界面,我们设计了写SQL的地方,同时也可以调试并完成实时计算任务。以电商系统为例,我们需要对商家按照销售额进行分类统计,比如说销售额0-100之间做分类,100-200区间内归为另一类,依此类推计算出每个区间内的商家个数。

10

以上图为例,第一条计算每个商家的销售总额,我们需要先定一个临时表tmp,再针对tmp做一个GROUP BY,相当于把商家销售额给GROUP BY计算,得出每个商家的销售额。

第二条是计算每个区间内的商家个数。此时,我们可以用GROUP BY销售额除以100,这是要查询的临时表tmp。两条SQL跟离线完全一样,如果表定义和实时计算一样的话,你是可以拿到Hive上运行的。

只要通过这两条SQL就可以完全实现计算任务开发,那它跟离线计算结果有什么不一样呢?它实时输出结果,而离线是一次性输出结果,提交这样的SQL就不停的输出销售额的分类统计。

在这个任务下假设我们输入的数据有四条(如下图):第一个商家交易额30,然后第二个商家交易额10,第三个商家交易额80,再来第三个商家交易额50,我们来看看用不同的计算引擎出来的计算结果有哪些差异。

(编辑:萍乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读