目录

什么是0点漂移问题?

哪个位置处理?

处理代码/拦截器代码如下:


什么是0点漂移问题?

即:第一天晚上11:59:59产生的数据可能会在第二天的0点左右收到,如果不处理就会当成第二天产生的数据,影响准确性,所以需要处理

哪个位置处理?

如果你的数仓用到flume;一般在flume中的kafkasource下又加了一个拦截器进行处理

处理代码/拦截器代码如下:

public class TimestampAndTableNameInterceptor implements Interceptor {@Overridepublic void initialize() {}@Overridepublic Event intercept(Event event) {//获取头数据Map<String, String> headers = event.getHeaders();//获取body并转为StringString log = new String(event.getBody(), StandardCharsets.UTF_8);//将body转为JSONJSONObject jsonObject = JSONObject.parseObject(log);//获取body的tsLong ts = jsonObject.getLong("ts");//maxwell是10位,但是Flume要求是13位,扩为13位时间戳String timeMills = String.valueOf(ts * 1000);String tableName = jsonObject.getString("table");headers.put("timestamp",timeMills);headers.put("tableName",tableName);return event;}@Overridepublic List<Event> intercept(List<Event> events) {for (Event event : events) {intercept(event);}return events;}@Overridepublic void close() {}public static class Builder implements Interceptor.Builder{@Overridepublic Interceptor build() {return new TimestampAndTableNameInterceptor();}@Overridepublic void configure(Context context) {}}
}

需要注意的是:需要你手动做一个Builder类,然后返回拦截器类

离线数仓0点漂移问题解决:使用拦截器解决0点漂移问题相关推荐

  1. 离线数仓搭建_02_服务器配置与数据生产

    点击右下方:专栏目录查看全文 文章目录 3.0 数据生成模块(P14-P29) 3.1目标数据 3.1.1页面 3.1.2事件(动作) 3.1.3曝光 3.1.4启动 3.1.5错误 3.2 数据埋点 ...

  2. 【离线数仓-2-数据采集】

    离线数仓-2-数据采集 离线数仓-2-数据采集 1.用户行为日志数据模拟 1.用户行为日志的介绍 2.埋点有哪些 3.用户行为日志内容 4.用户行为日志格式 5.用户行为日志数据采集 1.节点之间配置 ...

  3. 离线数仓(10):ODS层实现之业务数据核对

    目录 0. 相关文章链接 1. 目的 2. 调度任务创建 2.1. 概述 2.2. ods_fmys_goods_ext_数据核对_CDM任务 节点说明 2.3. ods_fmys_goods_ext ...

  4. 尚硅谷-离线数仓-笔记

    尚硅谷-离线数仓-笔记 一.数仓建模理论 第一章 数仓概述 1.1 数仓概念 数据仓库是一个为数据分析而设计的企业级数据管理系统.数据仓库可集中.整合多个信息源的大量数据,借助数据仓库的分析能力,企业 ...

  5. 大数据千亿级离线数仓项目第一天 环境部署和etl

    千亿级数仓项目第01天讲义 课程目标 了解大数据离线数仓架构 了解项目部署环境(数据规模和集群规模) 掌握ETL工具 Kettle常用组件的使用 能够掌握kettle作业与转换区别以及linux部署 ...

  6. 离线数仓搭建_11_DWD层用户行为日志创建

    文章目录 13.0 数仓搭建-DWD层 13.1 DWD层(用户行为日志) 13.1.1 日志解析思路 13.1.2 get_json_object函数使用 13.1.3 启动日志表 13.1.4 页 ...

  7. 离线数仓搭建_14_DWT数据构建

    文章目录 15.0 数仓搭建-DWT层 15.1 访客主题 15.2 用户主题 15.3 商品主题 15.4 优惠券主题 15.5 活动主题 15.6 地区主题 15.7 DWT层首日数据导入脚本 1 ...

  8. 离线数仓建设及技术选型

    离线数仓架构设计 1.建设数仓的目的 主要是增加数据计算的复用性.每次新增加统计需求时,不至于从原始数据进行计算,而是从半成品继续加工而成. 2. 数据仓库作用 整合企业业务数据,建立统一的数据中心: ...

  9. 离线数仓搭建_15_ADS层数据构建

    文章目录 16.0 数仓搭建-ADS层 16.1 建表说明 16.2 访客主题 16.2.1 访客统计 16.2.2 路径分析 16.3 用户主题 16.3.1 用户统计 16.3.2 用户变动统计 ...

最新文章

  1. 英伟达TensorRT 8-bit Inference推理
  2. Error Kernel Pattern
  3. GitHub优秀开源项目收集
  4. atoi实现(考虑足够多种的情况)c++
  5. 0.IDA-基本的反汇编算法
  6. windows内核情景分析---进程线程2
  7. Java 关键字—— static 与 final
  8. 数字图像处理基础与应用学习,第二章
  9. ATL offsetofclass 的工作原理
  10. 一文搞懂C语言回调函数
  11. 编写自定义的字符串一致性匹配方法,只要两个字符串包含同样的字符, 不管字符的顺序如何,都认为两个字符串一致,如:”aabbcc”和”abcabc”被认为是一致的...
  12. matlab db(X R),matlab操作sqlite数据库
  13. 在手动安装 Kubernetes 的基础上搭建微服务
  14. 黑马程序员java整套视频地址 javaweb+ssh+ssm视频+源码+软件
  15. web前端工程师眼中的母亲节
  16. spring终极宝典
  17. 灵动ICPC冬令营基础-5
  18. 《SolidWorks 2014中文版完全自学手册》——导读
  19. Android SwipeRefreshLayout GMail的下拉刷新效果
  20. word、excel文档内容更新技术方案

热门文章

  1. matlab有限元编程实例梁,梁单元有限元计算程序(matlab)
  2. Kali-linux密码在线破解
  3. 读书笔记之呼吸 [美] 特德·姜
  4. 【网站优化实例教程】怎样运用分类信息网做网站优化【网优谷经验】
  5. 智慧工厂实施建设方案-数字化
  6. 路由器密码忘记 五步暴力破解
  7. U盘出问题乱码解决方法
  8. 手机聊天室的设计与实现
  9. Rust中FFI编程知识点整理总结
  10. python做物联网_使用Python来做物联网,就是这么easy!