实时数仓1

9 篇文章 2 订阅
5 篇文章 0 订阅

实时数仓

离线→实时

介绍
  • 从某种角度而言,实时数仓是针对基础实时应用的优化版,避免实时处理的烟囱式发展,分层管理,数仓思想,逻辑、性能优化,提高了代码的复用率和整体生产效率。
  • 从离线到实时的角度而言,实时性更强了,能够满足即时性的需求,数据本身的价值有所增加。
抛出问题
有离线数仓了,做实时数仓,是否能兼顾到以前的指标体系,是不是可以直接替代?
类似于画像体系是否可以在此基础上进行构建?
实时数仓是否可以是实时平台的基础?
架构有没有明确的定义?
框架变化
  • 计算:Hive→Flink/Spark Streaming

  • 存储:HDFS→Kafka/Hbase/Redis/MySQL

存储框架
框架优势劣势
Mysql事务查询、存储的性能瓶颈
Elasticsearch吞吐量大,快速横向扩展,查询速度快使用成本相对略高,复杂操作性能较低
Druid超大数据量、通过Kafka获得实时数据;数据导入预计算预聚合导致的明细查询差;无多表操作;不支持单数据的修改
Cellar超大数据量,内存+分布式存储;吞吐性能好仅支持KV、Map、List;KV的值大小限制
计算框架
项目FlinkSpark Streaming
APITable API和Flink SQL流API和Spark SQL
容错机制State快照保存,检查点RDD保存点
状态管理键控状态,operator状态有UpdateStateByKey等API
处理模式单条流式处理批处理
延迟毫秒级秒级
语义保障Exactly Once,At Least OnceAt Least Once
基本层级处理
  • 数据源 → 数仓 → 数据应用

数据抽取→ODS(Kafka)→Flink → DWD(Kafka) → Flink → DWS(多维明细宽表)(Kafka)→ ADS(Kafka)→ Druid/ES

DIM(Mysql/Hive/Tair)

层级数据&框架
ODS实时数据:Kafka
DWD事实明细数据:Kafka
DWS明细多维汇总:Kafka
ADS应用数据:ES、Druid、Mysql、Tair
数仓基石
  • 主题划分,实时数仓与离线数仓主题划分逻辑不变,处理逻辑按照ADS需要,按照Kafka主题划分,线性缩减处理。
应用
  • BI报表(ES)

  • 用户标签(Mysql / Kylin),实时特征服务

  • 服务接口(Redis / HBase)

  • 实时推荐服务

  • 实时OLAP

  • 实时数据队列

优势
  1. 标签体系实时化管理
  2. 调度任务压力摊平
  3. 数据质量分散保证
  4. 实时应用
架构分析
  • 介绍
    • 实时数仓以Kappa为主,离线数仓就是传统大数据框架,Lambda就是二者的一个中间形态。
Lambda
Kappa

优化

处理框架
冗余消费优化
  1. 场景优化,根据具体业务逻辑以及计算逻辑做好数仓主题划分以及topic划分。
  2. 排除重复消费,同一批数据做到消费一次,重复利用。
数据安全保证
  1. 数据一致性问题,就是实时EOS。
  2. 上下游对接不同层级Kafka,具体操作
    • 内部checkpoint,状态容错保证错误重启并且恢复
    • 上游offset,避免黑匣子,重设数据读取。自定义:查询,检验,覆盖(新增)
    • 下游幂等&acks,多事务幂等性以及根据需求场景的acks参数调整。
数据积压问题
  • 从存储和处理两个方面解决,考虑峰值情况。
链路监控
  • 包含数据抽取,数据层级落地,层级处理,数据导入以及展现。
  • 两个核心层面。
    1. Kafka:多个Kafka处理过程log集中整合。
    2. Flink:内部监控应用开发。
框架本身处理的优化

问题

实时热点问题
介绍
  • 实时与离线在于环境中的不同点

    实时保证7*24h,任务不能停止,那么需要在上线前做好测试优化工作以及应对实时变动的方案。

  • 实时倾斜与离线倾斜在于环境中的不同点

    倾斜的数据级别不同,离线必然更加严重,但是实时时效性要求更高,所以更影响结果。

实施
聚合操作
  • 提高并行度,聚合分组散列
  • 不用window,使用外部存储做处理
  • 使用不同分区方式
  • 具体代码逻辑与离线可接近
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值