Skip to content

初级教程

初级教程是一个 ETL 示例项目。它和之前的快速上手不同的是包含了更多 Python 工程化的内容。 主要一下几个点:

  • 使用项目模板初始化项目
  • 使用配置系统加载项目配置,并且可以读取外部配置文件,使用 YAML 格式文件
  • 使用插件化机制开发自定义逻辑,并能自动发现
  • 完整的打包发布流程,并将项目发布到 pypi
  • 编写项目说明文档,并自动构建静态站点
  • 构建 Docker 镜像,项目可以容器化运行
  • 完整的单元测试,覆盖率 100%

项目设计

ETL 示例项目的设计有三部分组成,分别为 extractorloadertransformerextractor 负责从源目标提取 数据, transform 负责处理中间的转换逻辑, loader 负责将处理后的结果加载到目标位置。

在三个模块中,都有对应的抽象基类。如果需要自定义,只需实现对应的逻辑,并将实现的类注册到命名空间,然后通过配置 文件加载实现的名称,即可正常使用。

使用说明

因为该项目已经发布到 Pypi 中,所以可以直接通过 pip 命令安装使用。

建议在虚拟环境中安装!

pip install example-etl

然后使用 example_etl 命令

example_etl --help

默认只实现从文本按行提取,然后删除文本前后空格,再将文本写入目标文件的三个实现。