利用luigi快速开发管道的框架
lor的Python项目详细描述
alpha构建:使用luigi快速开发管道的框架
功能:
- luigi项目配置方法的约定
- 标准工作区创建(lor new)
- 配置加载
- 以工作区为中心的命令行(new、explain、ls、run等)
- 实用程序任务(例如EnsureExistsOnLocalFilesystemTask)
- 用于管理长时间运行的子流程、构建cli等的其他实用程序。
安装
要安装,请使用pip:
$ pip install lor
或者克隆回购协议:
$ git clone https://github.com/adamkewley/lor.git
$ python setup.py install
用法
安装后,lor可以从命令行使用:
$ lor new foo
这将在foo/创建一个lor工作区。lorworkspace是一个标准的python3 pip项目,它依赖于 lor作为依赖项(如果不需要,可以将其删除)。lor命令行命令可以检测 终端位于lor工作区中,为在标准工作区中工作提供了方便的命令。
为lor编写的任务只是标准的luigi任务。lor库提供了各种实用方法, 典型的项目可能会发现有用的(所有可选)。例如,lor提供了一个props模块,您可以使用它来 在运行时加载配置属性:
# foo/tasks/barimportlor.propsimportluigiclassBarTask(luigi.Task):output_path=luigi.Parameter()defrun(self):withopen(str(self.output_path),"w")asf:config_prop=lor.props.get("CONFIG_PROP")f.write(config_prop)defoutput(self):returnluigi.LocalTarget(self.output_path)
上面是一个标准的luigi任务,它使用lor从 工作区(位于工作区中的etc/properties.yml。该任务是标准的luigi任务,因此可以从 路易吉直接:
$ luigi –module foo.tasks.bar BarTask –output-path some/path
lor run命令也可用于运行任务:
$ lor run –module foo.tasks.bar BarTask –output-path some/path
lor run命令通过代理运行luigi,因此它实际上具有相同的接口。但是,lor run也 添加有用的功能,例如在运行时重写变量值的功能:
$ lor run –properties CONFIG_PROP=overridden –module foo.tasks.bar BarTask –output-path some/path
然后,任务将向输出文件写入“overrided”,而不是从工作区的配置中加载的内容。 文件。这是因为lor run在运行luigi之前使用覆盖引导工作区全局。
待办事项:此文档正在处理中