微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

大数据平台实时数仓从0到1搭建之 - 02 架构设计

大数据平台实时数仓从0到1搭建之 - 02 架构设计

模拟业务需求

统计公司销售情况,需要统计截止到统计当时的年度、季度、月度的销售情况。包含当天的数据。
实时大屏展示

架构选型

lambda架构

lambda架构我看网上有很多介绍,我理解的就是,以离线为主,实时为辅的模式,如下图,
1、假设我每天凌晨跑昨天的数据,那我离线批处理的数据范围就截止到昨天23:59:59,这部分数据获取过来以后进入离线数仓,
2、然后实时处理从凌晨0点开始获取今天的数据,并实时更新回离线数仓,那离线数仓的数据就是实时的数据,想看什么指标,也是最新的数据情况,但是实时处理并不能百分之百的数据准确性
3、然后到第二天,批处理再覆盖昨天的实时处理情况,这样一来,数据就能完全保证质量。

在这里插入图片描述

Kappa架构

Kappa架构 网上介绍也不少,我理解的就是,所有数据存储到消息队列里,用到哪一部分数据,就从哪一部分开始,从头开始走一遍实时处理。
比如说我每天正常处理实时数据,突然有个需求要看最近半年的一个指标,那就从新开一个kafka消费者,从半年前开始从头走一遍flink。

在这里插入图片描述

lambda & Kappa 对比

lambdaKappa
优点1、架构简单明了
2、数据稳定可控
1、维护一个框架,方便
缺点1、维护实时离线两个框架,稍微有些费时费力
1、数据存储在消息中间件,容易丢数据
或遇到存储瓶颈

这次就选择lambda架构模型,简单明了,数据可控,容易理解

框架选择

类型框架
数据存储Hdfs、Hive、Hbase、MysqL
消息队列Kafka
协调系统Zookeeper
计算框架Mapper-Reduce(离线),Flink(实时)
调度DolphinScheduler
数据同步工具datax
其他待加

环境枚举

名称版本包名下载地址
LinuxCentos 7CentOS-7-x86_64-DVD-1810.iso
JDK1.8jdk-8u181-linux-x64.tar.gz
scala2.11scala-2.11.12.ziphttps://www.scala-lang.org/download/2.11.12.html
Hadoop3.2.1hadoop-3.2.1.tar.gzhttps://hadoop.apache.org/release/3.2.1.html
Hive3.1.2apache-hive-3.1.2-bin.tar.gzhttps://downloads.apache.org/hive/hive-3.1.2/
Hbase1.4.13hbase-1.4.13-bin.tar.gzhttp://archive.apache.org/dist/hbase/1.4.13/
MysqLmariadb 10.3mariadb-10.3.31-linux-x86_64.tar.gzhttps://downloads.mariadb.org/mariadb/10.3.31/
Zookeeper3.5.8apache-zookeeper-3.5.8-bin.tar.gzhttps://archive.apache.org/dist/zookeeper/zookeeper-3.5.8/
Kafka2.4.1kafka_2.11-2.4.1.tgzhttps://archive.apache.org/dist/kafka/2.4.1/
Flink1.13flink-1.13.2-bin-scala_2.11.tgzhttps://flink.apache.org/downloads.html
DolphinScheduler1.3.2apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin.tar.gzhttps://dolphinscheduler.apache.org/zh-cn/download/download.html
dataxdatax.tar.gzhttp://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

收尾

如果搭建过程中有什么不合理的地方,还希望路过的大佬及时指出。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐