阶段性总结

  • ⚠️ 工作内容这里不展开说, 只简述技术思路

总括

  • 打通车联网数据全流程

思考

  • 问题是什么?
  • 目标是什么?
  • 前期调研?
  • 计划?
  • 如何做?
  • 如何更好快速迭代?
  • 阶段性重构?
  • 系统当前情况?
  • TODO

车联网

目标
  • 逻辑: 数据采集 -> 数据解析清洗 -> 数据共享 -> 数据挖掘 -> 产生价值
数据流
  • 数据采集(基础校验,过滤)
  • 数据校验清洗,统一格式化
  • 数据分析转发
  • 数据落盘
数据接入
数据处理
数据落盘
数据监控
数据质量
  • 准确性: 合法性, 数据项是否合法 比如GPS? Speed?….,是否要做一次清洗?在抽取宽表的时候做?
  • 可靠性: 大数据量数据传输是否可靠?数据在传输链路上是否发生丢失?重发,重复?丢失怎么补救?丢失率如何?在哪个阶段处理?离线Spark?不丢数据, 每天定时任务处理校验, 有一定的延迟, 发现丢失进行补漏
  • 完整性: 数据项是否完整?是否存在缺少属性情况?比如GPS报文少经纬度?
  • 安全性: 内网? 其他业务线如何防止泄露?
  • 易用性: 实时方案/离线方案 ? 如何快速对接?离线抽取时,做一个统一的宽表?抽取哪些字段?实时如何抽取为统一服务?
  • 及时性: GPS生成时间 > GPS接收到的时间 ? 怎么处理?
  • 精确性: GPS误差飘逸范围?GPS上传错误?GPS精度100, 1000?里程误差?校准?异常值255?上传频率?10s/30?
针对业务需求的数据质量入手

理论闭环: 业务需求 -> 定义指标 -> 校验指标 -> 总结分析 如有问题 -> 重新进入定义指标 直到满足业务需求

数仓总结

为什么要设计数据分层? 为什么要做元数据管理? 为什么要做数据质量管理?

  • 现实情况可能是很混乱的,没有一个良好的数据层级,可能会造成取数错误,或者单位未转化..等等诸多问题. 为解决这种痛点, 提高开发效率, 所以要做数据分层. 一般分为 ODS -> DW -> APP
    数仓搭建优势 资料
  • 清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解
  • 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算
  • 统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径, 标准统一, 比如里程数据向上层统一为km
  • 复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题
  • 最大化复用数据, 统一输出
  • 数据维度统一, 比如
  • 数据逻辑统一, 比如
技术迭代架构图
TODO