hadoop3.1.3+flink1.12.0-hive3.1.2-kafka2.12-2.5.0+kudu1.14.0+clickhouse21.4.6.55 流批一体数据仓库架构体系

目前整个过程的核心是flink
批处理选择用pyflink
流处理选择用java+flink
当然之所以这么选择,是跟我的技术栈有关。因为本人之前一直从事离线数仓的工作,批处理一直选择的脚本语言包括python,perl,甚至是kettle脚本。遇到实时数据处理,通常是springboot下面的 消息订阅机制(activemq,rabbitmq,kafka)来处理。虽然也能应付实时的要求,但是数据量上来后明显感觉力不从心。另外维护两套引擎,维护工作实在是麻烦。直接看到flink的出现,感觉etl流批可以一体化了。

架构:

在这里插入图片描述

ODS:操作数据层,保存原始数据,对非结构化的数据进行结构化处理,轻度清洗,几乎不删除原始数据。
该层的数据主要来自业务数据库binlog 日志、埋点日志和应用程序日志。
对于 binlog 日志直接通过flink sdc 上报到Kafka 中。
除了存储在 Kafka 中,同时也会对业务数据库binlog 日志通过 Flink 写入 HDFS、Kudu 等存储引擎。
另外,对于埋点日志和应用程序日志,需要计算实时PV,UV的通过flume读入到kafka, 需要测算运营订单转化率,模块使用率,点击率等功能优化的,则通过flume落地到hdfs。

DWD:实时明

相关文章

# 前言 现有主流消息中间件都是生产者-消费者模型,主要角色...
错误的根源是:kafka版本过高所致,2.2+=的版本,已经不需要...
DWS层主要是存放大宽表数据,此业务中主要是针对Kafka topic...
不多BB讲原理,只教你怎么用,看了全网没有比我更详细的了,...
终于写完了,其实最开始学kafka的时候是今年2月份,那时候还...
使用GPKafka实现Kafka数据导入Greenplum数据库踩坑问题记录(...