Flink实时数仓项目—业务数据采集


前言

前面完成了日志数据的采集,下面进行业务数据的采集。


一、采集工具选型

实时数仓相关采集工具的选型在这篇文章中有提到:Flink实时数仓各种CDC对比

二、Flink-CDC学习

业务数据采集选取了Flink-CDC,Flink-CDC的学习及使用在这里:Flink-CDC 2.0学习及使用

三、MySQL数据准备

前提条件:业务数据存放在MySQL中,首先要在MySQL中创建名为gmall2022的数据库,然后执行相关sql文件导入建表语句。

1.binlog的配置

修改/etc/my.cnf文件,内容如下:

server-id = 1
log-bin=mysql-bin
binlog_format=row
binlog-do-db=gmall2022

这里开启了gmall2022这个数据库的binlog,并且格式为row。
配置完成后,重启MySQL使配置生效 sudo systemctl restart mysqld
可以在/var/lib/mysql目录下查看binlog文件:
在这里插入图片描述

2.模拟生成数据

业务数据是用户真实的下单数据等等,所以也是无法拿到的,所以也使用脚本模拟生成真实的数据。
1)先将对应生成数据的脚本上传到/opt/module/gmall-flink/rt_db 目录下
2)修改application.properties中数据库连接信息,内容如下:

logging.level.root=info

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://hadoop102:3306/gmall-flink-2022?characterEncoding=utf-8& useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username=root spring.datasource.password=000000

logging.pattern.console=%m%n
mybatis-plus.global-config.db-config.field-strategy=not_null #业务日期
mock.date=2021-03-06
#是否重置
mock.clear=1
#是否重置用户
mock.clear.user=0
… …

3)运行jar包:java -jar gmall2020-mock-db-2020-11-27.jar
在这里插入图片描述
再次到/var/lib/mysql目录下,可以看到index文件发生了改变。

四、业务数据采集模块

在IDEA中新建模块gmall2021-realtime,创建如下的包结构:
在这里插入图片描述

目录 作用
app 处理各层数据的Flink程序
bean 数据对象
common 公共常量
utils 工具类

1.配置文件

在pom.xml中导入以下依赖:

<properties>
        <java.version>1.8</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <flink.version>1.13.0</flink.version>
        <scala.version>2.12</scala.version>
        <hadoop.version>3.1.3</hadoop.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>


        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-java&l
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值