大厂实时数仓建设项目实例.docx
《大厂实时数仓建设项目实例.docx》由会员分享,可在线阅读,更多相关《大厂实时数仓建设项目实例.docx(56页珍藏版)》请在第一文库网上搜索。
1、大厂实时数仓建设项目实例01实时数仓建设背景1 .实时需求日趋迫切目前各大公司的产品需求和内部决策对于数据实时性的要求越来越迫切,需要实时数仓的能力来赋能。传统离线数仓的数据时效性是T+1,调度频率以天为单位,无法支撑实时场景的数据需求。即使能将调度频率设置成小时,也只能解决部分时效性要求不高的场景,对于实效性要求很高的场景还是无法优雅的支撑。因此实时使用数据的问题必须得到有效解决。2 .实时技术日趋成熟实时计算框架已经经历了三代发展,分别是:Storm、SparkStreaming Flink,计算框架越来越成熟。一方面,实时任务的开发已经能通过编写SQL的方式来完成,在技术层面能很好地继承
2、离线数仓的架构设计思想;另一方面,在线数据开发平台所提供的功能对实时任务开发、调试、运维的支持也口渐趋于成熟,开发成本逐步降低,有助于去做这件事。02实时数仓建设目的1 .解决传统数仓的问题从目前数仓建设的现状来看,实时数仓是一个容易让人产生混淆的概念,根据传统经验分析,数仓有一个重要的功能,即能够记录历史。通常,数仓都是希望从业务上线的第一天开始有数据,然后一直记录到现在。但实时流处理技术,乂是强调当前处理状态的一个技术,结合当前一线大厂的建设经验和滴滴在该领域的建设现状,我们尝试把公司内实时数仓建设的FI的定位为,以数仓建设理论和实时技术,解决由于当前离线数仓数据时效性低解决不了的问题。现
3、阶段我们要建设实时数仓的主要原因是:公司业务对于数据的实时性越来越迫切,需要有实时数据来辅助完成决策;实时数据建设没有规范,数据可用性较差,无法形成数仓体系,资源大量浪费;数据平台工具对整体实时开发的支持也日渐趋于成熟,开发成本降低。2 .实时数仓的应用场景实时OLAP分析;实时数据看板;实时业务监控;实时数据接口服务。03实时数仓建设方案接下来我们分析下目前实时数仓建设比较好的几个案例,希望这些案例能够给大家带来一些启发。1.滴滴顺风车实时数仓案例滴滴数据团队建设的实时数仓,基本满足了顺风车业务方在实时侧的各类业务需求,初步建立起顺风车实时数仓,完成了整体数据分层,包含明细数据和汇总数据,统
4、一了 DWD层,降低了大数据资源消耗,提高了数据复用性,可对外输出丰富的数据服务。数仓具体架构如下图所示:顺风车实时数仓架构APP应用层实时数据看板实时数据产品实时数据接口服务实时OLAPODS贴源层、数据库binlogPublic日志埋点日志消息队列从数据架构图来看,顺风车实时数仓和对应的离线数仓有很多类似的地方。例如分层结构;比如0DS层,明细层,汇总层,乃至应用层,他们命名的模式可能都是一样的。但仔细比较不难发现,两者有很多区别:与离线数仓相比,实时数仓的层次更少一些:从目前建设离线数仓的经验来看,数仓的数据明细层内容会非常丰富,处理明细数据外一般还会包含轻度汇总层的概念,另外离线数仓中
5、应用层数据在数仓内部,但实时数仓中,app应用层数据已经落入应用系统的存储介质中,可以把该层与数仓的表分离;应用层少建设的好处:实时处理数据的时候,每建一个层次,数据必然会产生一定的延迟;汇总层少建的好处:在汇总统计的时候,往往为了容忍一部分数据的延迟,可能会人为的制造一些延迟来保证数据的准确。举例,在统计跨天相关的订单事件中的数据时; 可能会等到00:00:05或者00:00:10再统计,确保00:00前的数据已经全部接受到位了,再进行统计。所以,汇总层的层次太多的话,就会更大的加重人为造成的数据延迟。O与离线数仓相比,实时数仓的数据源存储不同:O在建设离线数仓的时候,目前滴滴内部整个离线数
6、仓都是建立在Hive表之上。但是,在建设实时数仓的时候,同一份表,会使用不同的方式进行存储。比如常见的情况卜,明细数据或者汇总数据都会存在Kafka里面,但是像城市、渠道等维度信息需要借助Hbase, mysql或者其他KV存储等数据库来进行存储。接下来,根据顺风车实时数仓架构图,对每一层建设做具体展开:1) ODS贴源层建设根据顺风车具体场景,目前顺风车数据源主要包括订单相关的binlog日志,冒泡和安全相关的public 口志,流量相关的埋点口志等。这些数据部分已采集写入kafka或ddmq等数据通道中,部分数据需要借助内部自研同步工具完成采集,最终基于顺风车数仓ods层建设规范分主题统一
7、写入kafka存储介质中。命名规范:ODS层实时数据源主要包括两种。一种是在离线采集时已经自动生产的DDMQ或者是Kafka topic,这类型的数据命名方式为采集系统自动生成规范为:cn-binlog-数据库名-数据库名eg:cn-binlog-ihap_fangyuan-ihap_fangyuan一种是需要自己进行采集同步到kafka topic中,生产的topic命名规范同离线类似:ODS层采用:realtime_ods_binlog_源系统库/表名/ods_log_日志名 eg:realtime_ods_binlog_ihap_fangyuan2) DWD明细层建设根据顺风车业务过程作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时 建设项目 实例