本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

实战案例|构建产品数据运营体系的11个步骤(3)

时间:2017-07-05 00:08来源:本港台直播 作者:j2开奖直播 点击:
ETL一词较常用在数据仓库,但其对象并不限于数据仓库。 ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先

ETL一词较常用在数据仓库,但其对象并不限于数据仓库。ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。

下图是产品数据体系的一个常见流程图,数据采集、存储、运算,通常就在图中的数据中心完成。

实战案例|构建产品数据运营体系的11个步骤

图4 数据体系流程

确认完数据上报之后,接下来几个事情就比较偏技术化了。首先需要上报的数据通过什么样的方式采集和存储到我们的数据中心。

(1)数据采集分为两步

第一步从业务系统上报到服务器,这部分主要是通过cgi或者后台server,通过统一的logAPI调用之后,汇总在logServer中进行原始流水数据的存储。当这部分数据量大了之后,需要考虑用分布式的文件存储来做,外部常用的分布式文件存储主要是HDFS。这里就不细展开。

实战案例|构建产品数据运营体系的11个步骤

图5 原始数据上报存储到文件的架构图

数据存储到文件之后,第二步就进入到ETL的环节,ETL就是指通过抽取(extract)、转换(transform)、加载(load)把日志从文本中,基于分析的需求和数据纬度进行清洗,然后存储在数据仓库中。

(2)以腾讯为例子

腾讯大数据平台现在主要从离线和实时两个方向支撑海量数据接入和处理,核心的系统包括TDW、TRC和TDbank。

实战案例|构建产品数据运营体系的11个步骤

图6 腾讯数据平台系统

在腾讯内部,数据的数据收集、分发、预处理和管理工作,都是通过一个TDBank的平台来实现的。整个平台主要解决在大数据量下面数据收集和处理的量大、实时、多样的问题。通过数据接入层、处理层和存储层这样的三层架构来统一解决接入和存储的问题。

(1)接入层

接入层可以支持各种格式的业务数据和数据源,包括不同的DB、文件格式、消息数据等。数据接入层会将收集到的各种数据统一成一种内部的数据协议,方便后续数据处理系统使用。

(2)处理层

接下来处理层用插件化的形式来支持多种形式的数据预处理过程。对于离线系统来说,一个重要的功能是将实时采集到的数据进行分类存储,需要按照某些维度(比如某个key值+时间等维度)进行分类存储;同时存储文件的粒度(大小/时间)也是需要定制的,使离线系统能以指定的的粒度来进行离线计算。对于在线系统来说,常见的预处理过程如数据过滤、数据采样和数据转换等。

(3)数据存储层

处理后的数据,使用HDFS作为离线文件的存储载体。保证数据存储整体上是可靠的,然后最终把这部分处理后的数据,开奖,入库到腾讯内部的分布式数据仓库TDW。

实战案例|构建产品数据运营体系的11个步骤

图7 TDW架构图

TDBank是从业务数据源端实时采集数据,进行预处理和分布式消息缓存后,按照消息订阅的方式,分发给后端的离线和在线处理系统。

实战案例|构建产品数据运营体系的11个步骤

图8 TDBank数据采集与接入系统

TDBank构建数据源和数据处理系统间的桥梁,将数据处理系统同数据源解耦,为离线计算TDW和在线计算TRC平台提供数据支持。目前通过不断的改进,将以前Linux+HDFS的模式,转变为集群+分布式消息队列的模式,将以前一天才能处理的消息量缩短到2秒钟!

从实际应用来看,产品在考虑数据采集和接入的时候,主要要关心几个纬度的问题:

多个数据源的统一,一般实际的应用过程中,都存在不同的数据格式来源,这个时候,采集和接入这部分,需要把这些数据源进行统一的转化。

采集的实时高效,由于大部分系统都是在线系统,对于数据采集的时效性要求会比较高。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容