Flink 实时数仓-思考与总结

1,什么是Flink实时数仓。

  大家做离线开发是的时候数据存储在hdfs或者hive,基于此,不管用什么组件,数据源都是hive,然后定时执行脚本,跑离线任务啥的。

 实时数仓大家可以理解为数据都存储在kafka,Flink消费kafka的数据然后进行逻辑处理,然后再下发到kafka,这么延迟是秒或者分钟级别的,对于不同的业务效果更好,更实时。

 2,为什么要做实时数仓呢?

  我的理解是因为业务,大家想想,离线数据处理的都是什么数据,简单总结之就是流量数据,从大量的数据最后得到几个需要的维度的值,而实时数仓效果更快,这是技术的进步,更能提高效率

 

3,实时数仓的缺点?

  缺点可能的话还是资源吧,消耗更多。

 与其说是缺点,不如说是难点,痛点。 大概是资料不是很多,坑还需要人来趟。

 

4,之前我在接触实时数仓的时候,有个想法。

  我之前想整合 Nifi + Flink+Druid的,目前都了解了一下之后发现不行。

 首先Nifi 使用有局限,没我想象的那么简单和容易上手,Druid就不说了,吃资源大户,类似kylin,而且也是需要时间去设计数据结构,存储等等,难点不是使用。这两者都不是很流行,说白了用的人没那么多,对于公司来讲,成本未知。

 

5,还是聊聊Flink实时数仓吧。

  1)美团实时数仓

    平台架构:

Flink 实时数仓-思考与总结_第1张图片

案例:流量数仓

Flink 实时数仓-思考与总结_第2张图片

使用效果:

Flink 实时数仓-思考与总结_第3张图片

实践总结:

Flink 实时数仓-思考与总结_第4张图片

传统数仓:

Flink 实时数仓-思考与总结_第5张图片

Flink实时数仓:

Flink 实时数仓-思考与总结_第6张图片

准实时数仓:

Flink 实时数仓-思考与总结_第7张图片

准实时数仓与实时数仓的对比:

Flink 实时数仓-思考与总结_第8张图片

实时数仓平台架构:

Flink 实时数仓-思考与总结_第9张图片

 

  2)美团:

Flink 实时数仓-思考与总结_第10张图片

Flink 实时数仓-思考与总结_第11张图片

 

ODS层:

Flink 实时数仓-思考与总结_第12张图片

保证kafka分区数据有序:

 

DW层的建设:

Flink 实时数仓-思考与总结_第13张图片

Flink 实时数仓-思考与总结_第14张图片

维度建设:

 

Flink 实时数仓-思考与总结_第15张图片

 

维度数据使用:

Flink 实时数仓-思考与总结_第16张图片

汇总层的建设:

注意点:去重的时候可能会占用过大的资源导致程序死掉,我们可以使用一些算法或者办法,比如布隆过滤器

Flink 实时数仓-思考与总结_第17张图片

仓库的质量保证:

Flink sql校验怎么做?

Flink 实时数仓-思考与总结_第18张图片

 

一定建立血缘关系,如果任务或者作业修改了,下游要准确的保持一致,所以需要血缘关系。

Flink 实时数仓-思考与总结_第19张图片

数据质量验证:

就是将中间表数据写入hive,通过离线数据的结果统计比对实时数仓的结果是否正确,验证差异。

Flink 实时数仓-思考与总结_第20张图片

  3)拉链表的意思:

https://blog.csdn.net/saqin6255/article/details/80362248

  4)

6,大家可以参考的文章或者视频了解一下

你可能感兴趣的:(Flink,实时数仓总结,Flink实时数仓,实时数仓,flink数据仓库)