BpFile(id=217, bpId=156, name=互联网、游戏等行业实时数仓构建, author=null, keyword=日志服务,数据拆分,数据清洗,ETL,自定义Sink,实时分析,实时数仓,大数据,HDFS, description=基于Flink构建实时数仓,包含采集日志,Flink对日志的拆分、处理写入ADB存储和HDFS。, position=null, ossUrl=bp-G0QYEJ02O56T9XCX.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
互联网、游戏等行业客户基于Flink构建实时数仓,
通过Logtail采集日志,使用Flink实现对日志的拆
分、处理,根据业务需求写入不同的数据存储,实
时分析使用ADB存储、离线分析使用HDFS存储,
构建高效、稳健的实时数据服务。
解决的问题
日志采集、处理及分析
日志使用Flink拆分到不同logstore
日志使用Flink实时写入HDFS
日志数据实时ETL
日志实时写入ADB
产品列表
实时计算、EMR,SLS、ADB、云数据库HBase版、RDS、EIP、VPC、ECS
, templateId=1BIFAVVDF3BSFZTW, freetry=null, visitTime=null, visitCount=null, video_url=https://yqh.aliyun.com/live/detail/23786, buttonName=null, buttonUrl=null, targetId=1BIFAVVDF3BSFZTW, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1互联网、游戏等行业实时数仓构建 最佳实践
业务架构
场景描述 解决的问题
互联网、游戏等行业客户基于Flink构建实时数仓, 日志采集、处理及分析
通过Logtail采集日志,使用Flink实现对日志的拆
日志使用Flink拆分到不同logstore
分、处理,根据业务需求写入不同的数据存储,实
日志使用Flink实时写入HDFS
时分析使用ADB存储、离线分析使用HDFS存储,
构建高效、稳健的实时数据服务。
日志数据实时ETL
日志实时写入ADB
产品列表
实时计算、EMR,SLS、ADB、云数据库HBase版、RDS、EIP、VPC、ECS
2云服务器ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
互联网、游戏等行业
实时数仓构建
最佳实践
文档版本:20210310
文档版本:20150122(发布日期) 2
3互联网、游戏等行业实时数仓构建 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 互联网、游戏等行业实时数仓构建最佳实践
文档编号 156
文档版本 V1.2
版本日期 2021-03-10
文档状态 外部发布
制作人 弦望、自空、明誉、背包
审阅人 云魁
文档变更记录
版本编号 日期 作者 审核人 说明
弦望、自空、
V1.0 2020-03-24 云魁 创建
明誉、背包
V1.1 2020-04-09 筱晖 弦望 文档优化
文档优化
V1.2 2021-03-10 敬海弦望
增加CADT
文档版本:20210310 I
4互联网、游戏等行业实时数仓构建 前言
前言
概述
互联网、游戏等行业客户基于Flink构建实时数仓,通过Logtail采集日志,使用Flink
实现对日志的拆分、处理,根据业务需求写入不同的数据存储,实时分析使用ADB存
储、离线分析使用HDFS存储,构建高效、稳健的实时数据服务。
名词解释
云架构设计工具 CADT:是一款为上云应用提供自助式云架构管理的产品,显著
地降低应用云上管理的难度和时间成本。本产品提供丰富的预制应用架构模板,
同时也支持自助拖拽方式定义应用云上架构;支持较多阿里云服务的配置和管理。
用户可以方便的对云上架构方案的成本、部署、运维、回收进行全生命周期的管
理。详见https://www.aliyun.com/product/developerservices/cadt
HDFS:Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分
布式文件系统,它和现有的分布式文件系统有很多共同点。但同时,它和其他的
分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部
署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集
上的应用。
实时计算:实时计算(AlibabaCloudRealtimeCompute,PoweredbyVerverica)
是阿里云提供的基于 ApacheFlink 构建的企业级大数据计算平台。在 PB 级别
的数据集上可以支持亚秒级别的处理延时,赋能用户标准实时数据处理流程和行
业解决方案;支持 DatastreamAPI 作业开发,提供了批流统一的 FlinkSQL,
简化 BI 场景下的开发;可与用户已使用的大数据组件无缝对接,更多增值特性
助力企业实时化转型。详情请查看www.aliyun.com/product/bigdata/product/sc
Hbase:面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩
展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时
空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等
场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的
数据库。详情请查看www.aliyun.com/product/hbase
EMR:阿里云 E-MapReduce(EMR) 是构建在阿里云云服务器 ECS 上的开源
Hadoop、Spark、HBase、Hive、Flink 生态大数据 PaaS 产品。提供用户在云
上使用开源技术建设数据仓库、离线批处理、在线流式处理、即时查询、机器学
文档版本:20210310 III
5互联网、游戏等行业实时数仓构建 前言
习等场景下的大数据解决方案。详情请查看www.aliyun.com/product/emapreduce
ADB:分析型数据库MySQL版(AnalyticDBforMySQL)是一种高并发低延时
的PB级实时数据仓库,全面兼容MySQL协议以及SQL:2003 语法标准,可以
毫秒级针对万亿级数据进行即时的多维分析透视和业务探索。详情请查看
www.aliyun.com/product/ads
文档版本:20210310 IV
6互联网、游戏等行业实时数仓构建 目录
目录
文档版本信息..................................................................................................................................................................I
.........................................................................................................................................................................
法律声明 II
前言................................................................................................................................................................................III
.................................................................................................................................................................................
目录 V
.................................................................................................................................................................
最佳实践概述 1
前置条件.........................................................................................................................................................................3
.................................................................................................................................................................................
导读 4
1. 基础环境搭建...........................................................................................................................................................5
...............................................................................................................................
1.1.通过CADT来拉起环境 5
..............................................................................................................................................
1.2.检查VPC参数 9
1.3.检查ECS实例............................................................................................................................................10
...........................................................................................................................................
1.4.检查EMR实例 11
1.5.检查RDS实例...........................................................................................................................................13
...........................................................................................................................................
1.6.检查ADB实例 16
.....................................................................................................................................
1.7.创建实时计算集群 21
1.8.检查日志服务项目和logstore..................................................................................................................25
....................................................................................................................................
1.9.检查云Hbase实例 32
2.日志采集.................................................................................................................................................................34
................................................................................................................................
3.日志拆分到不同的Logstore 36
..........................................................................................................................
3.1.使用SDK创建Logstore 36
3.2.创建RDS维表...........................................................................................................................................41
.............................................................................................................
3.3.将flink 安全组加入RDS安全组 44
3.4.自定义SLSSink........................................................................................................................................45
..............................................................................................................................................
3.5.日志拆分作业 49
.........................................................................................................................................................
4.日志实时ETL 57
4.1.部署HBaseClient.....................................................................................................................................57
........................................................................................................................................
4.2.创建HBase维表 58
4.3.Hbase添加flink安全组............................................................................................................................59
..............................................................................................................................................
4.4.日志实时ETL 60
............................................................................................................................................
5.日志实时同步到ADB 67
5.1.创建ADB结果表.......................................................................................................................................67
....................................................................................................................................
5.2.日志实时写入ADB 68
6.日志实时写入HDFS.............................................................................................................................................74
.....................................................................................................................................
6.1.自定义HDFSSink 74
..................................................................................................................................
6.2.日志实时写入HDFS 74
7.延时测试.................................................................................................................................................................81
.....................................................................................................................................................
8.附件:源码解读 85
8.1.Logstore创建..............................................................................................................................................85
........................................................................................................................................
8.2.自定义SLSSink 86
.............................................................................................................
8.3.自定义HDFSSink(测试使用) 87
8.4.自定义HDFSSink(生产使用).............................................................................................................90
文档版本:20210310 V
7互联网、游戏等行业实时数仓构建 最佳实践概述
最佳实践概述
概述
互联网、游戏等行业客户基于Flink构建实时数仓,通过Logtail采集日志,使用Flink
实现对日志的拆分、处理,根据业务需求写入不同的数据存储,实时分析使用ADB存
储、离线分析使用HDFS存储,构建高效、稳健的实时数据服务。
适用场景
日志采集、处理及分析
日志使用Flink拆分到不同logstore
日志使用Flink实时写入HDFS
日志数据实时ETL
日志实时写入ADB
技术架构
本实践方案基于如下图所示的技术架构和主要流程编写操作步骤:
部署架构如下:
文档版本:20210310 1
8互联网、游戏等行业实时数仓构建 最佳实践概述
方案优势
性能优越:高吞吐,高扩展性。
安全稳定:Exactly-Once,故障自动恢复,资源隔离。
简单易用:SQL语言,在线开发,全面支持UDX。
功能强大:支持SQL进行实时及离线数据清洗、数据分析、数据同步、异构数据
源计算等DataLake相关功能,以及各种流式及静态数据源关联查询。
安全:原生的多租户系统,以项目进行隔离,所有计算任务在安全沙箱中运行。
文档版本:20210310 2