以GitHub公开事件数据为例,通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具,实现海量数据实时分析的通用架构与核心步骤。
搭建实时数仓时,Flink可对待处理数据进行实时清洗,完成后Hologres可直接读取Flink中的数据,示例架构如图所示。
一、创建专有网络VPC和交换机
登录专有网络管理控制台,单击专有网络。
在创建专有网络页⾯,根据下方参数说明配置1个专有网络(VPC)和2台交换机,然后单击确定。
二、创建实时数仓Hologres
在实例列表页面,等待运行状态变为运行正常,即可正常使用。
三、创建对象存储OSS
登录对象存储OSS控制台,单击Bucket列表。
四、创建实时计算Flink
先领取资源抵扣包。
购买Flink实例
在实时计算控制台Flink全托管页签,刷新页面查看工作空间状态,当工作空间状态为运行中时,即可进入下一步。
五、创建Hologres内部表
1、在实例详情页面,单击登录实例,进入HoloWeb
2、在元数据管理页签,单击新建库
3、在SQL编辑器页面,单击左上⻆的image图标,新建SQL查询。
六、通过Flink实时写入数据至Hologres
1、选择运维中心 > Session管理。在Session集群页面,单击创建Session集群。
2、在集群总览页签,当Session集群状态(页面上方集群名称旁边)从启动中变为运行中。
3、创建SQL作业。在左侧导航栏,选择数据开发 > ETL
4、在作业页面右上角,单击部署。
5、在作业运维页面,单击目标作业右侧操作列下的启动。
状态变为运行中时,表示您成功启动作业。
七、查询实时数据
1、切换至Hologres的SQL编辑器页签。
2、在Hologres中通过内部表查询今日最活跃项目。
在临时Query查询页签,执行如下命令,查询今日最活跃项目。
SELECT
repo_name,
COUNT(*) AS events
FROM
hologres_dataset_github_event.hologres_github_event
WHERE
created_at >= CURRENT_DATE
GROUP BY
repo_name
ORDER BY
events DESC
LIMIT 5;
八、清理资源
1、登录实时计算控制台。
在页面顶部菜单栏中,地域切换至华东2(上海),然后选择目标工作空间右侧操作列下的更多 > 释放资源。
2、登录Hologres控制台。
在页面右上角,地域切换至华东2(上海),然后在左侧导航栏中,单击实例列表。
3、登录对象存储OSS控制台。删除Bucket。
4、登录AccessKey管理。删除阿里云AccessKey。先禁用再删除。
5、登录专有网络,删除VPC及交换机。先删除交换机再删除VPC。