初级教程
初级教程是一个 ETL 示例项目。它和之前的快速上手不同的是包含了更多 Python 工程化的内容。 主要一下几个点:
- 使用项目模板初始化项目
- 使用配置系统加载项目配置,并且可以读取外部配置文件,使用 YAML 格式文件
- 使用插件化机制开发自定义逻辑,并能自动发现
- 完整的打包发布流程,并将项目发布到 pypi
编写项目说明文档,并自动构建静态站点- 构建 Docker 镜像,项目可以容器化运行
- 完整的单元测试,覆盖率 100%
项目设计
ETL 示例项目的设计有三部分组成,分别为 extractor
、loader
和 transformer
。 extractor
负责从源目标提取
数据, transform
负责处理中间的转换逻辑, loader
负责将处理后的结果加载到目标位置。
在三个模块中,都有对应的抽象基类。如果需要自定义,只需实现对应的逻辑,并将实现的类注册到命名空间,然后通过配置 文件加载实现的名称,即可正常使用。
使用说明
因为该项目已经发布到 Pypi 中,所以可以直接通过 pip 命令安装使用。
建议在虚拟环境中安装!
pip install example-etl
然后使用 example_etl
命令
example_etl --help
默认只实现从文本按行提取,然后删除文本前后空格,再将文本写入目标文件的三个实现。