尚硅谷离线数仓架构图重绘

尚硅谷离线数仓架构图重绘,第1张

尚硅谷离线数仓架构图重绘

这几天重新回顾离线数仓的项目,一边看一边重新梳理了架构图,主要是重画了flume和kafka这块,注意一下生产flume和消费flume里面的设计,hive的建仓太复杂,画不出来

采集Flume
  1. TailDir Source:用TailDir Source,好处:断点续传、多目录。Exec Source 不能断点续传。Spooling Directory Source只能单目录。
  2. LogInterceptor:拦截器,过滤脏数据
  3. Kafka Channel:省去sink,直接传kafka效率更高(Kafka Channel数据存在kafka里,所以数据是存在磁盘中的)
消费Flume
  1. Kafka Source:从kafka读取数据
  2. TimestampInterceptor:flume会用当前的系统时间来决定输出到HDFS路径的时间,而flume读取数据的时候可能已经是第二天了,那这条数据就会被发往第二天的路径,我们希望的是根据日志里的事件时间来决定存储在HDFS中的路径,所以用拦截器读取日志的事件时间
  3. File Channel:channel存在磁盘中,比较慢但是安全。还有Memory Channel,更快但是数据存在JVM堆中,数据可能会丢失
  4. HDFS sink:注意这里HDFS可能会产生大量小文件,教程里修改了几个配置,做到了文件每128M时滚动形成新文件。
Kafka

单分区单topic

Sqoop

sqoop有多种同步策略,需要注意

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5573930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存