实时计算 Flink 版 pu/uv Demo |学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
实时计算 Flink 版,5000CU*H 3个月
简介: 快速学习 实时计算 Flink 版 pu/uv Demo

开发者学堂课程【《实时计算 Flink 版产品入门与实操》:实时计算 Flink 版 pu/uv Demo】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/334/detail/3743


实时计算 Flink 版 pu/uv Demo


内容简介:

1.根据给出的例子创建源端

2.选择具体的实现方案

3.设计 sql 方法

4.运行 sql 作业

5. 将结果写入 holo 中,观察运行过程及效果


APP 计算 pv/uv 场景例子:

如某公司开发了个知识分享类 APP,自媒体作者可以在 APP 中会发布一些新闻、时事评论技术分享等文章,用户可阅读文章并对喜爱的文章点赞,收藏或打赏。

业务的构建涉及到几个端∶

1.app :应用程序,用户访问入口

2后台系统:

自媒体作者︰进行文章管理,文章点赞数,打赏数,打赏金额查看,文章热度趋势等功能

运营人员∶用于平台上内容管理∶

1文章内容审核,对有争议文章进行人工审核

2违规内容下架

3平台指标查看,如平台 uv/pv,热门板块 pvluv , topN 热门文章等

字段含义解释:

id            数据库自增主键

event_time    事件产生时间

imei          移动设备国际身份码的缩写,暂可用手

device_model  移动设备机型

client_ip       设备 IP 地址

category_id    文章所属类目信息,比如新闻小说等

user_id        用户 id

event_type     事件类型,比如曝光-001,点击-002点赞-003,打赏-004

article_id       文章 id

pay_amount    打赏金额,单位:元

 

1.创建源端

阿里云上申请的 MySQL 实例

手动插入了八条数据模拟用户访问APP记录

 

2.实现方案

图片28.png

方案一:

mysql 中数据经过解析放入 kafka 再进行实时计算最后放入 Hologress

这条方案在 Flink1.11 之前,是不太容易处理的,因为在这之前处理过的数据里面可能会出现新增行或者用户会进行一些修改、删除的操作,而这些数据在kafka和Flink结合段是很难处理的,在 Flink1.11 之后我们就可以处理 Flink 对接 kafka 的链路操作,对 update 或者 delete 的操作进行一些很顺滑的无缝的操作,而不是像这之前需要对 update 或者 delete 在业务上进行特殊处理。

方案二:

mysql 中数据经过解析直接实时计算放入 Hologress

链路中的 kafka 是否一定需要,主要取决于业务。如果你的数据需要暂存日后再使用或者数据要被多方人使用、多个下游使用就需要 kafka,如果你对这个日志不需要回数或者没有太多的下游,可以使用方案二,节省了整个链路。

故这两条方案链路并不是说一定有好坏之分,只是再使用过程选择上有所区别,这次例子的演示会选择方案二。

 

3.sql 方法

(1)DDL- 构建MySQL-CDC源表

代码就是负责连接数据库的某张表的 binglog,写法上就是在实时计算 Flink—SQL编辑器—DemoDDL 中加入这串代码,这样就通过数据库定义了数据的源头。

(2)DDL—构建blackhole/Hologress目标表

定义数据源头后,接着加入这串代码,效果是把数据放入“黑洞”,暂时性的不处理数据。

Hologress 是 pg 的协议,可以用pg的客户端去访问 hologress。

建好源表和目标表后,现在需要计算逻辑。即将数据写入 blackhole 中,要把四个字段的值计算出来。

Currenttime:要用 CURRENT-TIMESTAMP 函数作为 currenttime。

Hour:把事件发生所属的小时信息认出。

TimestamphourString 方式:

特殊的写了一个 vvp-training 的价包,具体函数代码

函数的目标是将时间转化成年日时分表。

 

4.运行作业

创建 SQL 作业,给作业重新命名,输入代码。

在作业列表找到新建的作业点击启动

运行成功后,在作业总览处可以对作业进行简单的查看,也可以查看作业运行时的Flink ui—Ruunning jobs 数据状态。

这就是我们说的先用调试模式将任务先跑起来,证明我们的逻辑和一开始的源端是联系起来的,现在也正在研发新功能能够在使用过程中不仅能够把逻辑和源端调通,也可以将源端和目标端的运行结果展示出来而不实际写入 holo 中。


5.将结果写入 holo

创建新作业,这个作业的核心逻辑和前面是相同的,唯一不一样的是现在我们需要将结果既放入 holopv-uv 中也要放入 blackhole 中,将同样的结果输出两份,最后运行作业并启动,观察运行过程及效果。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
9天前
|
运维 数据处理 数据安全/隐私保护
阿里云实时计算Flink版测评报告
该测评报告详细介绍了阿里云实时计算Flink版在用户行为分析与标签画像中的应用实践,展示了其毫秒级的数据处理能力和高效的开发流程。报告还全面评测了该服务在稳定性、性能、开发运维及安全性方面的卓越表现,并对比自建Flink集群的优势。最后,报告评估了其成本效益,强调了其灵活扩展性和高投资回报率,适合各类实时数据处理需求。
|
3月前
|
存储 监控 大数据
阿里云实时计算Flink在多行业的应用和实践
本文整理自 Flink Forward Asia 2023 中闭门会的分享。主要分享实时计算在各行业的应用实践,对回归实时计算的重点场景进行介绍以及企业如何使用实时计算技术,并且提供一些在技术架构上的参考建议。
730 7
阿里云实时计算Flink在多行业的应用和实践
|
2月前
|
SQL 消息中间件 Kafka
实时计算 Flink版产品使用问题之如何在EMR-Flink的Flink SOL中针对source表单独设置并行度
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
10天前
|
存储 运维 监控
阿里云实时计算Flink版的评测
阿里云实时计算Flink版的评测
42 15
|
9天前
|
运维 分布式计算 监控
评测报告:阿里云实时计算Flink版
本评测主要针对阿里云实时计算Flink版在用户行为分析中的应用。作为一名数据分析师,我利用该服务处理了大量日志数据,包括用户点击流和登录行为。Flink的强大实时处理能力让我能够迅速洞察用户行为变化,及时调整营销策略。此外,其卓越的性能和稳定性显著降低了运维负担,提升了项目效率。产品文档详尽且易于理解,但建议增加故障排查示例。
|
9天前
|
机器学习/深度学习 运维 监控
阿里云实时计算Flink版体验评测
阿里云实时计算Flink版提供了完善的产品内引导和丰富文档,使初学者也能快速上手。产品界面引导清晰,内置模板简化了流处理任务。官方文档全面,涵盖配置、开发、调优等内容。此外,该产品在数据开发和运维方面表现优秀,支持灵活的作业开发和自动化运维。未来可增强复杂事件处理、实时可视化展示及机器学习支持,进一步提升用户体验。作为阿里云大数据体系的一部分,它能与DataWorks、MaxCompute等产品无缝联动,构建完整的实时数据处理平台。
|
2月前
|
消息中间件 监控 Kafka
联通实时计算平台问题之Flink状态后端数据量较大时,问题排查要如何进行
联通实时计算平台问题之Flink状态后端数据量较大时,问题排查要如何进行
|
2月前
|
SQL 流计算
Flink SQL 在快手实践问题之使用Dynamic Cumulate Window绘制直播间累计UV曲线如何解决
Flink SQL 在快手实践问题之使用Dynamic Cumulate Window绘制直播间累计UV曲线如何解决
39 1
|
2月前
|
消息中间件 监控 Kafka
实时计算 Flink版产品使用问题之怎么调整Flink Web U显示的日志行数
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
SQL 数据处理 Apache
Apache Flink SQL:实时计算的核心引擎
Apache Flink SQL 的一些核心功能,并探讨了其在实时计算领域的应用。随着 Flink 社区的不断发展和完善,Flink SQL 将变得越来越强大,为实时数据分析带来更多的可能性。
下一篇
无影云桌面