场景实践 | 基于Flink+Hologres搭建GitHub实时数据分析

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 基于Flink和Hologres构建的实时数仓方案在数据开发运维体验、成本与收益等方面均表现出色。同时,该产品还具有与其他产品联动组合的可能性,能够为企业提供更全面、更智能的数据处理和分析解决方案。

以GitHub公开事件数据为例,通过使用Flink、Hologres构建实时数仓,实现海量数据实时分析

搭建实时数仓时,Flink可对待处理数据进行实时清洗,完成后Hologres可直接读取Flink中的数据,示例架构如图所示。
image.png

一、实践步骤

1、创建专有网络VPC和交换机

登录专有网络管理控制台,单击专有网络。
image.png

在创建专有网络页⾯,根据下方参数说明配置1个专有网络(VPC)和2台交换机,然后单击确定。
image.png
image.png
image.png

2、创建实时数仓Hologres

image.png

在实例列表页面,等待运行状态变为运行正常,即可正常使用。
image.png

3、创建对象存储OSS

登录对象存储OSS控制台,单击Bucket列表。
image.png

4、创建实时计算Flink

先领取资源抵扣包
image.png

购买Flink实例
image.png

image.png

在实时计算控制台Flink全托管页签,刷新页面查看工作空间状态,当工作空间状态为运行中时,即可进入下一步。
image.png

5、创建Hologres内部表

1、在实例详情页面,单击登录实例,进入HoloWeb
image.png

2、在元数据管理页签,单击新建库
image.png

3、在SQL编辑器页面,单击左上⻆的image图标,新建SQL查询。
image.png

6、通过Flink实时写入数据至Hologres

1、选择运维中心 > Session管理。在Session集群页面,单击创建Session集群。
image.png

image.png
image.png

2、在集群总览页签,当Session集群状态(页面上方集群名称旁边)从启动中变为运行中。
image.png

3、创建SQL作业。在左侧导航栏,选择数据开发 > ETL
image.png
image.png
image.png
image.png

4、在作业页面右上角,单击部署。

image.png
image.png
image.png

5、在作业运维页面,单击目标作业右侧操作列下的启动。
image.png

image.png

状态变为运行中时,表示您成功启动作业。
image.png

7、查询实时数据

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;

image.png

8、清理资源

1、登录实时计算控制台

在页面顶部菜单栏中,地域切换至华东2(上海),然后选择目标工作空间右侧操作列下的更多 > 释放资源。
image.png

image.png

2、登录Hologres控制台

在页面右上角,地域切换至华东2(上海),然后在左侧导航栏中,单击实例列表。
image.png

image.png

image.png

image.png

3、登录对象存储OSS控制台。删除Bucket。
image.png
image.png
image.png

4、登录AccessKey管理。删除阿里云AccessKey。先禁用再删除。
image.png
image.png

5、登录专有网络,删除VPC及交换机。先删除交换机再删除VPC。
image.png

image.png

image.png

二、实践总结

在通过Flink和Hologres构建实时数仓,并实现海量数据实时分析的场景下,针对以下几个方面:

1、 数据开发运维体验

  • 实时数据清洗:Flink能够对待处理的GitHub事件数据进行实时清洗,确保数据的准确性和一致性。
  • 高效数据读取:Hologres能够直接读取Flink中的数据,无需额外的数据转换或传输步骤,从而提高了数据处理效率。
  • 易于维护和扩展:基于Flink和Hologres的解决方案易于维护和扩展,可以随着数据量的增长和业务需求的变化进行灵活调整。

2、成本与收益

1) 成本

  • 硬件成本:由于Flink版是全托管产品,因此无需担心硬件采购和维护成本。
  • 运维成本:全托管服务降低了运维成本,因为阿里云会负责产品的运维和升级工作。
  • 学习成本:对于熟悉Flink和Hologres的开发人员来说,学习成本相对较低。但对于新手来说,可能需要一定的时间来熟悉和掌握这些工具。

2) 收益

  • 提高数据处理效率:实时计算Flink版能够显著提高数据处理效率,确保数据的实时性和准确性。
  • 降低延迟:通过实时数仓的搭建,可以显著降低数据处理的延迟,从而更快地响应业务需求。
  • 提升业务决策能力:基于实时数据的分析能够为企业提供更准确的业务洞察和决策支持。

3、产品改进与功能拓展

  • 支持更多数据源:推出Flink对更多数据源的支持,以满足不同业务场景的需求。
  • 增强可视化能力:可以开发更加直观和易用的可视化工具,帮助用户更好地理解数据和分析结果,无须使用第三方工具来展示。

4、与其他产品的联动组合

  • 与Kafka等消息队列产品联动:可以将Kafka作为数据源的入口,通过Flink实时处理数据后写入Hologres进行存储和分析。
  • 与机器学习平台/大模型联动:可以将Flink处理后的数据输入到机器学习平台/大模型中进行训练和预测,以实现更加智能化的业务决策。
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
相关文章
|
1月前
|
SQL 运维 网络安全
【实践】基于Hologres+Flink搭建GitHub实时数据查询
本文介绍了如何利用Flink和Hologres构建GitHub公开事件数据的实时数仓,并对接BI工具实现数据实时分析。流程包括创建VPC、Hologres、OSS、Flink实例,配置Hologres内部表,通过Flink实时写入数据至Hologres,查询实时数据,以及清理资源等步骤。
|
6天前
|
分布式计算 DataWorks Serverless
通过函数计算节点实现GitHub实时数据分析与结果发送
开发人员在基于GitHub开源项目进行开发时会产生海量事件,GitHub会记录每次事件的类型、详情、开发者和代码仓库等信息,并开放其中的公开事件。DataWorks提供“Github十大热门编程语言”模板,通过对GitHub中公开数据集进行加工和分析,并将分析结果以邮箱的方式发送给指定用户。运行本案例后,您将得到Github中Top10编程语言每小时被提交的次数与排行。
41 10
|
12天前
|
流计算 开发者
【开发者评测】实时计算Flink场景实践和核心功能体验测评获奖名单公布!
【开发者评测】实时计算Flink场景实践和核心功能体验测评获奖名单公布!
|
23天前
|
数据挖掘 关系型数据库 Serverless
利用数据分析工具评估特定业务场景下扩缩容操作对性能的影响
通过以上数据分析工具的运用,可以深入挖掘数据背后的信息,准确评估特定业务场景下扩缩容操作对 PolarDB Serverless 性能的影响。同时,这些分析结果还可以为后续的优化和决策提供有力的支持,确保业务系统在不断变化的环境中保持良好的性能表现。
27 2
|
2月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
90 3
|
4月前
|
存储 安全 Java
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险
65 1
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
|
4月前
|
Rust 前端开发 JavaScript
Github 2024-05-20 开源项目周报 Top15
根据Github Trendings的统计,2024年5月20日当周共有15个项目上榜。按开发语言分类,项目数量如下:Python项目5个,TypeScript项目3个,C++项目2个,Jupyter Notebook项目2个,C、Go、Rust和C#项目各1个。介绍了多个值得关注的项目,包括ChatGPT桌面应用程序、Fooocus图像生成软件、Jellyfin媒体系统等。这些项目涵盖了多种功能和技术领域,值得关注和研究。
75 3
|
4月前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
143 2
|
4月前
|
人工智能 Rust JavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
142 1
|
4月前
|
Rust Dart 前端开发
Github 2024-08-19 开源项目周报Top15
根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
123 1
下一篇
DataWorks