数据采集

1 离线

1.用户行为数据

jar-》log-》flume-》kafka-》flume-》hdfs

用户行为数据存储在日志服务器,以.log文件存在,log-》flume-》kafka-》flume-》hdfs

2 业务数据

jar-》mysql-》sqoop-》hdfs

业务数据存储在mysql,使用sqoop导入hdfs

2 实时

1.用户行为数据

前端-》Nginx-》日志服务器-》)log,Kafka(ods

1 前端埋点数据

通过jar包模拟

2 Nginx

https://blog.csdn.net/qq_40036754/article/details/102463099

负载均衡

3 日志服务器

spring boot搭建

首先,Spring 就是一个java框架,spring boot在 Spring 的基础上演进

4 落盘,整合 Kafka

落盘指的是存在日志服务器

生产者-》kafka-》消费者

​ 生产 消费

2 业务数据

jar-》mysql-》flinkcdc-》kafka(ods)

不能使用sqoop,因为sqoop底层为mapreduce,太慢了,改用canal,maxwell或者flinkcdc

数据从mysql读到kafka,不是hdfs

flink-cdc

https://cloud.tencent.com/developer/article/1801766

Change Data Capture(变更数据获取)

数据同步

1.数据同步策略

1 全量

存储完整的数据。

2 增量

存储新增加的数据。

3 新增及变化

存储新增加的数据和变化的数据。

4 特殊

某些特殊的表,可不必遵循上述同步策略。

1.例如某些不会发生变化的表

地区表,省份表,民族表等,可以只存一份固定值。

2.拉链表

在第一天同步拉链表的时候,需要同步全量数据,并且设置endtime = 9999;首日过后,每日同步数据到拉链表中就是新增及变化的数据,可以采用分区策略,以999为一个分区表示有效的数据,加上以过期时间为分区;

2.首日,每日

首日同步,视情况,不一定全量

每日同步,视情况


:D 一言句子获取中...