架构图
外源数据
- 外源数据的来源有:人工录入、购买、爬虫、日志、历史数据…
- 数据类型:关系型数据库(MySQL…)、文本文件(txt、xlsx、pdf、doc…)、图片、音频、邮件、非关系型数据库(ElasticSearch…)、接口传输(json)…
原始层
- 将外源数据迁移至统一的数据库(如Oracle),按照该库的储存方式(如关系数据库)进行储存。
- 字段名尽量要不变,数据要全量保留,对于特殊结构如json等可整块写入CLOB。
# 不规则数据示例(json)
{'province': '44', 'city': ['4406', '4401']}
标准层
字段筛选
筛选业务所需的字段
字段统一
将 student_id 和 StudentId 统一成 student_id
数据统一
西红柿 --> 番茄
番茄 --> 番茄
tomato --> 番茄
枚举转换
0 --> 生果
1 --> 电气
2 --> 女装
设置增量标识
时间标识:202005091204
清洗层
- 数据清洗:空值丢弃、空值填补…
- 数据转换:取对数、离散化、上采样…
- 文本清洗:字符串拼接、切割、替换、正则表达式…
- 工人清洗:处理机器不能处理的数据
算法层
批量写入算法结果,并对算法进行可视化和评估,从而高频迭代算法。
常有删库重跑操作。
应用层
根据不同的业务需求做轻度汇总(筛选+联表->短期表);
前端
数据交互(对外:面向客户;对内:模型评估)
结果呈现(数据可视化、即席查询、报表系统…)
相关知识补充
数据库
按照数据结构来组织、存储和管理数据的仓库
- 以一定方式储存(以提高增删查改的效率)
- 能与多个用户共享
- 具有尽可能小的冗余度(使数据存放量更大)
- 与应用程序彼此独立
数据仓库
- 海量的数据蕴含商业价值,而企业所关注的通常只是总量的一小部分。数据仓库是把数据转换为知识的一种主要技术手段。
- 数据仓库是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,用于对管理决策过程的支持。
- 特点
1 面向主题
2 集成的:把不同源的数据集成到一起
3 相对稳定的:所涉及的数据操作主要是数据查询,单个的删除操作较少
4 存储较冗余但查询效率较高:典型的空间换时间思想
5 数据存储单位按照日、周、月、季度、年等各种级别划分,能反映历史变化
数据库和数据仓库的区别
区别 | 数据库 | 数据仓库 |
---|---|---|
性质 | 软件技术 | 数据集合 |
用途 | 事务处理 | 数据分析 |
存储方式 | 紧致 | 冗余 |
数据操作 | 增删查改 | 查询为主 |
查询 | 简单查询 | 复杂查询 |
数据粒度 | 细致的 | 集成的 |
时间敏感度 | 实时的 | 允许延时 |
单次处理量 | 小 | 大 |
元数据(metadata)
又称中介数据、中继数据,是描述数据的数据
功能有:指示存储位置、历史数据、资源查找、文件记录等…