前言
项目主页
https://github.com/zhenghao0379/py_etl
介绍
本项目用于数据仓库构建,数据处理,数据分析等,所用工具如下:
- python:数据处理与数据分析
- azkaban:任务调度管理
- mysql等数据库:数据仓库与数据存储
- 使用:
- 报表:FineReport 构建自动化报表
- BI:Fine BI \ power BI \ Tableau 构建BI
- AI:.ipynb 专题问题解决
目录说明
azkaban # azkaban调度文件
code # python数据处理文件
config # 配置文件,数据库连接等
data # 其他数据源,如excel、csv等临时性数据
help # 帮助文档(即本文档,已单独迁移出)
package # 自定义工具包,全局变量、公共函数、sql链接等
数据仓库
采用层次模型DATA VALUt:
- Wiki:https://en.wikipedia.org/wiki/Data_Vault_Modeling
- 层次结构大致如下:
- ods:原始层,原始数据原样保存;
- mid:中间层,按照框架样式并加工原始层;
- tag:标签层,记录单一对象的多个维度;
- rpt:应用层,数据结果最终展示;
优势
- 灵活:
- Python支持多种数据库连接,Mysql\hive\mongo等。
- 使用Python和其丰富的工具包(numpy\pandas等)进行数据处理,采用向量计算,更加高效灵活。
- 后续Python在数据挖掘、特征工程、算法 和 AI 等的优势。
- Azkaban调度管理,拥有开源、依赖管理、日志、可视化等优点。
- 快速、敏捷:
- 满足一个需求平均3天时间,
- 需求沟通(1天):需求确认,编写文档
- python 代码(1天);
- FineReport(1天)。
- 同时,也非常方便后续的更新、迭代,满足随时变化的业务场景。
- 满足一个需求平均3天时间,
联系作者
E-mail:tinydata@qq.com