阶段性总结
2019-06-08- ⚠️ 工作内容这里不展开说, 只简述技术思路
总括
- 打通车联网数据全流程
思考
- 问题是什么?
- 目标是什么?
- 前期调研?
- 计划?
- 如何做?
- 如何更好快速迭代?
- 阶段性重构?
- 系统当前情况?
- TODO
车联网
目标
- 逻辑:
数据采集 -> 数据解析清洗 -> 数据共享 -> 数据挖掘 -> 产生价值
数据流
- 数据采集(基础校验,过滤)
- 数据校验清洗,统一格式化
- 数据分析转发
- 数据落盘
数据接入
数据处理
数据落盘
数据监控
数据质量
- 准确性: 合法性, 数据项是否合法 比如GPS? Speed?….,是否要做一次清洗?在抽取宽表的时候做?
- 可靠性: 大数据量数据传输是否可靠?数据在传输链路上是否发生丢失?重发,重复?丢失怎么补救?丢失率如何?在哪个阶段处理?离线Spark?不丢数据, 每天定时任务处理校验, 有一定的延迟, 发现丢失进行补漏
- 完整性: 数据项是否完整?是否存在缺少属性情况?比如GPS报文少经纬度?
- 安全性: 内网? 其他业务线如何防止泄露?
- 易用性: 实时方案/离线方案 ? 如何快速对接?离线抽取时,做一个统一的宽表?抽取哪些字段?实时如何抽取为统一服务?
- 及时性: GPS生成时间 > GPS接收到的时间 ? 怎么处理?
- 精确性: GPS误差飘逸范围?GPS上传错误?GPS精度100, 1000?里程误差?校准?异常值255?上传频率?10s/30?
针对业务需求的数据质量入手
理论闭环: 业务需求 -> 定义指标 -> 校验指标 -> 总结分析 如有问题 -> 重新进入定义指标 直到满足业务需求
数仓总结
为什么要设计数据分层? 为什么要做元数据管理? 为什么要做数据质量管理?
- 现实情况可能是很混乱的,没有一个良好的数据层级,可能会造成取数错误,或者单位未转化..等等诸多问题. 为解决这种痛点, 提高开发效率, 所以要做数据分层. 一般分为 ODS -> DW -> APP
数仓搭建优势 资料
- 清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解
- 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算
- 统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径, 标准统一, 比如里程数据向上层统一为km
- 复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题
- 最大化复用数据, 统一输出
- 数据维度统一, 比如
- 数据逻辑统一, 比如