我们为数据科学时代重建了数据工程。
Prefect 是一个新的工作流管理系统,专为现代基础设施而设计,由开源的 Prefect Core 工作流引擎提供支持。用户组织成 ,然后省长负责其余的工作。
Tasks
Flows
阅读文档;获取代码;问我们任何事情;通过Prefect Discourse与社区聊天!
Prefect的Pythonic API应该对新手来说很熟悉。将函数标记为任务,并相互调用它们以构建流。
from prefect import task, Flow, Parameter
@task(log_stdout=True)
def say_hello(name):
print("Hello, {}!".format(name))
with Flow("My First Flow") as flow:
name = Parameter('name')
say_hello(name)
flow.run(name='world') # "Hello, world!"
flow.run(name='Marvin') # "Hello, Marvin!"
有关更多详细信息,请参阅核心文档
除了Prefect云平台之外,Prefect还包括一个用于编排和管理流的开源后端,主要由Prefect Server和Prefect UI组成。此本地服务器将流元数据存储在 Postgres 数据库中,并公开一个 GraphQL API。
默认情况下,Prefect 配置为使用 Prefect Cloud 作为后端,你可以通过运行以下命令将 Prefect Cloud 设置为后端:
$ prefect backend cloud
若要使用 Prefect Server 作为后端,请运行以下命令为本地业务流程配置 Prefect:
$ prefect backend server
请注意,服务器需要 Docker 和 Docker Compose 才能运行。
要启动服务器、UI 和所有必需的基础结构,请运行:
$ prefect server start
运行所有组件后,可以通过访问 http://localhost:8080 来查看 UI。
提示:如果你在启动服务器时遇到任何问题,请查看我们的故障排除指南。
请注意,从服务器执行流需要至少运行一个级代理。例如,若要启动本地代理,请运行以下命令:
$ prefect agent local start
最后,要向服务器注册任何流,请使用项目名称在流中调用。有关更多详细信息,请参阅编排文档。
flow.register(project_name="<project_name>")
从拉丁语praefectus,意思是“负责人”,级长是监督域并确保遵守规则的官员。同样,Prefect 负责确保工作流正确执行。
它也恰好是那本非常了不起的书《银河系搭便车指南》(The Hitchhiker's Guide to the Galaxy)的一位巡回研究员的名字。
得益于Prefect不断增长的任务库和深度生态系统集成,构建数据应用程序比以往任何时候都更容易。
缺少了什么?打开功能请求或贡献 PR!Prefect 旨在使添加新功能变得非常容易,无论你是在开源软件包之上构建,还是为你的团队维护内部任务库。
Prefect任务库是一个不断增长的预定义任务列表,这些任务提供现成的功能,用于使用各种工具,从shell脚本执行到Kubernetes作业管理再到发送推文。
![]() 天蓝色 |
![]() AWS |
![]() 达斯克 |
![]() docker |
![]() 谷歌云 |
![]() Kubernetes |
![]() 通用部署 |
Prefect提供各种资源,以帮助指导你取得成功的结果。
我们致力于确保一个积极的环境,所有互动都受我们的行为准则的约束。
Prefect 的文档(包括概念、教程和完整的 API 参考)始终可在 docs.prefect.io。
有关贡献文档的说明,请参阅开发指南。
加入我们的论坛,分享知识,讨论想法,找到常见问题的答案并获得支持。
加入我们的Slack,聊聊Prefect,提出问题并分享技巧。
访问级长博客,了解级长团队的最新动态和见解。
Prefect 为 Prefect Core 和 Prefect Cloud 的用户提供各种社区和高级支持选项。
阅读有关Prefect社区的信息或深入了解开发指南,了解有关贡献,文档,代码样式和测试的信息。
Prefect 需要 Python 3.7+。如果你不熟悉Python,我们建议你安装Anaconda发行版。
要安装 Prefect,请运行:
pip install prefect
或者,如果你更喜欢使用 :
conda
conda install -c conda-forge prefect
或:
pipenv
pipenv install --pre prefect
对于开发或只是为了尝试最新功能,你可能希望直接从源代码安装Prefect。
请注意,Prefect 的主分支不保证与 Prefect Cloud 或本地服务器兼容。
git clone https://github.com/PrefectHQ/prefect.git
pip install ./prefect
Prefect Core 在 Apache 软件许可证版本 2.0 下获得许可。请注意,Prefect Core包括用于运行Prefect Server和Prefect UI的实用程序,它们本身已根据Prefect社区许可证获得许可。