实时数仓:项目学习

1. 技术选型

*** 当下flink流行度又高、又稳定。成为当下实时计算最优选择
2. 项目分析
2.1 业务数据:一般存储在mysql(需要canal做实时采集)
2.2 日志数据:一般以log文件形式存在,采用日志采集框架flume做实时采集
3. 实现方案
3.1 数据少于20万,可直接通过实时查询mysql,适当对关联字段做索引即可
3.2 数据量比较大,mysql查询时间无法达到查询效果或者实时性太差
4. 实时数仓架构思路
5. 实时数仓架构流程
5.1 维度数据ETL
5.1.1 mysql维度数据全量ETL:mysql+flink+redis
5.1.2 mysql维度数据增量实时ETL架构设计:mysql+canal+protobuf+kafka+flink+redis
5.1.3 Canal Server实时监控mysql数据库binlog日志
5.1.4 Canal Client使用protobuf序列化日志数据推送给Kafka:topic:ods_mysql_binlog
5.1.5 flink创建反序列化为protobuf的KafkaConsumer消费mysql日志变化数据
5.1.6 flink创建RedisSink将变化数据同步到redis
5.2 点击流日志数据ETL
5.2.1 架构设计:nginx(log)+flume+kafka+logparser+ip2region+kafka
5.2.2 flume监控日志目录变化数据(过滤数据)推送给Kafka:topic:ods_click_log
5.2.3 flink创建KafkaConsumer消费该日志数据
5.2.4 flink实时创建logpaser解析器解析日志流数据为ClickLogEntity
5.2.5 flink实时通过IP获取省份城市作为ClickLogEntity属性
5.2.6 flink创建KafkaProducer发送json数据到Kafka:topic:dwd_click_log
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值