Prefect 实现数据自动化的最简单方法

你好,世界!👋

我们为数据科学时代重建了数据工程

Prefect是一个新的工作流管理系统,专为现代基础设施而设计,由开源的Prefect Core工作流引擎提供支持。用户组织Tasks变成Flows,县管睡觉

请阅读docs;获取code;询问我们anything好了!

欢迎使用工作流

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!"

有关更多详细信息,请参阅Core docs

UI和服务器

除了Prefect Cloud平台上,Prefect包括一个用于编排和管理流程的开源后端,主要包括Prefect ServerPrefect UI此本地服务器将流元数据存储在Postgres数据库中并公开GraphQL API

在第一次运行服务器之前,请运行prefect backend server若要为本地业务流程配置Prefect,请执行以下操作。请注意,服务器需要DockerDocker Compose去跑步

要启动服务器、UI和所有必需的基础架构,请运行:

prefect server start

一旦所有组件都在运行,您就可以通过访问http://localhost:8080

请注意,从服务器执行流需要至少运行一个Prefect代理:prefect agent local start

最后,要向服务器注册任何流,请调用flow.register()有关更多详细信息,请参阅orchestration docs

“.完全正确?”

来自拉丁语普雷菲克特斯,意思是“谁是负责人”,省长是监督一个领域并确保规则得到遵守的官员。同样,Prefect负责确保工作流正确执行

它也恰好是那本非常了不起的书的一位巡回研究员的名字,银河系漫游指南

集成

得益于Prefect不断扩大的任务库和深度的生态系统集成,构建数据应用程序比以往任何时候都更加容易

有什么东西不见了吗?打开一个feature requestcontribute a PR好了!Prefect旨在使添加新功能变得极其容易,无论您是在开放源码包之上构建,还是为您的团队维护内部任务库

任务库

Airtable

Asana

AWS

Azure

Azure ML

Databricks

DBT

Docker

Dremio

Dropbox

Email

Fivetran

GitHub

Google Cloud

Google Sheets

Great Expectations

Jira

Jupyter

Kubernetes

Monday

MySQL

PostgreSQL

Python

Pushbullet

Redis

RSS

SendGrid

Shell

Slack

Snowflake

SpaCy

SQLite

SQL Server

Trello

Twitter

部署和执行

Azure

AWS

Dask

Docker

Google Cloud

Kubernetes

Universal Deploy

资源

Prefect提供了各种资源来帮助您获得成功的结果

我们致力于确保一个积极的环境,所有的互动都由我们的Code of Conduct

文档

Prefect的文档–包括概念、教程和完整的API参考–总是可以在docs.prefect.io

有关编写文档的说明,请参阅development guide

松散社区

加入我们的Slack聊聊Prefect,提问,分享小贴士

博客

访问Prefect Blog有关Prefect团队的最新信息和见解

支持

Prefect提供各种社区和高级服务support options适用于Prefect Core和Prefect Cloud的用户

贡献

阅读有关Prefect的community或者一头扎进development guides有关贡献、文档、代码样式和测试的信息

安装

要求

Prefect需要Python 3.6+。如果您是Python新手,我们建议您安装Anaconda distribution

最新版本

要安装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 Software License Version 2.0请注意,Prefect Core包括用于运行Prefect Server以及Prefect UI,它们本身是根据Prefect Community License