前言

项目主页

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天)。
    • 同时,也非常方便后续的更新、迭代,满足随时变化的业务场景。

联系作者

E-mail:tinydata@qq.com