📁
prefect.docs
  • 介绍
  • 入门
    • 安装
    • Task和Flow
    • 触发器、关联task和信号
    • 为什么是Prefect
    • 为什么不是Airflow
  • 初级教程
    • ETL介绍
    • Prefect实现ETL
    • 使用Parameters
    • 失败处理
    • 调度执行
    • 水平扩展
    • task更多特性
  • 核心概念
    • Task.任务
    • Flow.流
    • Parameter.参数
    • State.状态
    • Engine.引擎
    • Execution.执行
    • Logging.日志
    • Mapping.映射
    • 通知和状态处理器
    • 持久化缓存
    • 结果对象和结果处理器
    • Schedule.调度计划
    • Secret.秘钥
    • Configuration.配置
    • 最佳实践
    • 常见问题
  • task库
    • Airtable
    • AWS.亚马逊云
    • Azure.微软云
    • Azure ML Service.微软云机器学习
    • Collection.集合
    • Constant.常量
    • Control Flow.控制流
    • Docker
    • Dropbox
    • Email
    • Function.函数
    • GCP.谷歌云
    • GitHub
    • Kubernetes
    • Operators.运算符
    • Postgres
    • Redis
    • RSS
    • Shell
    • Slack
    • Snowflake
    • SQLite
    • Strings.字符串
    • Twitter
  • 进阶教程
    • task映射并行和Prefect参数的高级特性
    • Prefect算子
    • 日志部署
    • Dask部署
    • ETL
    • 本地调试
    • Slack通知
    • Prefect Task剖析
    • 动态DAG和Task循环
    • 结果处理器
    • 工作流可视化
  • 样例
    • 概览
    • Airflow DAG
    • Task缓存
    • 按日收集github状态
    • ETL工作流
    • 工作流状态可视化
    • Docker Pipeline的函数式API
    • Github双周发布周期
    • Docker Pipeline的命令式API
    • 简易Map/Reduce
    • 参数化条件
    • 重试和映射
    • spaCy自然语言处理
    • 状态处理日志
    • Task循环
    • 发数据表至Airtable
  • 开发Issues
    • 内容提要
    • PIN-1:PINs介绍
    • PIN-2:数据处理器和元数据
    • PIN-3:执行环境
    • PIN-4:结果对象
    • PIN-5:组合Tasks
    • PIN-6:删除常量Tasks
    • PIN-7:存储和执行
    • PIN-8:事件驱动工作流
    • PIN-9:Prefect命令行
    • PIN 10:弹性调度计划
    • PIN 11:Task循环
    • PIN 12:环境回调
    • PIN 13:云部署
    • PIN-14:进阶事件驱动工作流
    • PIN-15:丢弃状态和信号
    • PIN-16:结果和目标
  • 开发规范
    • 概览
    • 编码风格
    • 文档注释
    • 测试
    • 贡献代码
    • 版本更新列表
    • 突破
  • 常见疑问
  • 开源社区
  • 代码贡献指南
Powered by GitBook
On this page
  • 基本依赖
  • 安装
  • 可选依赖
  • 运行本地管理后台服务和UI
  • Docker

Was this helpful?

  1. 入门

安装

基本依赖

Prefect需要Python版本3.6之上。如果你对Python不熟悉,推荐安装Anaconda发行版本。

安装

执行命令装Prefect

pip install prefect

或者你喜欢用conda

conda install -c conda-forge prefect

或者使用pipenv

pipenv install --pre prefect

可选依赖

Prefect使用许多使用extra开头语义的可选依赖:

pip install "prefect[extra_1, extra_2]"

可选依赖例子如下:

  • all_extras: 包括所有可选依赖

  • dev: 开发Prefect的工具

  • templates: 使用string模板工具

  • viz: Prefect工作流可视化工具

  • aws: AWS云平台交互工具

  • google: Goole云平台交互工具

  • kubernetes: Kubernetes API交互工具

  • twitter: Twitter API交互工具

  • airtable: Airtable API交互工具

  • spacy: 用Spacy构建NLP pipelines工具

  • redis: Redis数据库交互工具

运行本地管理后台服务和UI

除了可以对接Prefect云平台之外,Prefect还开放编排管理工作流的源代码,支持本地构建运行服务和UI。本地服务存储工作流源数据到Postgres数据库,并且暴露可操作的GraphQL API。

第一次在运行本地服务时,先执行以下命令保证之后的Prefect命令使用本地服务做拓扑关联:

prefect backend server

启动服务和UI,和所有需要的基础设施,执行以下命令:

prefect server start

得到如下docker container进程。

还请注意要通过服务控制工作流,需要至少在本地启动一个Prefect Agent,执行以下命令:

prefect agent start

最后通过一行代码如下flow.register()来注册任意的工作流。更多细节参见基础设施文档。简单示例代码如下:

#!/usr/bin/env python
# coding=utf8

import prefect
from prefect import task, Flow

@task
def hello_task():
    logger = prefect.context.get("logger")
    logger.info("Hello, Cloud!")

flow = Flow("hello-flow", tasks=[hello_task])
flow.register("hello-flow")
flow.run()

Docker

Prefect提供源码主分支和各个发行版本的Docker镜像。

通过最新的Prefect Docker镜像来执行命令:

docker run -it prefecthq/prefect:latest

镜像版本表

Tag

Prefect Version

Python Version

latest

most recent PyPi version

3.7

master

master build

3.7

latest-python3.8

most recent PyPi version

3.8

latest-python3.7

most recent PyPi version

3.7

latest-python3.6

most recent PyPi version

3.6

X.Y.Z-python3.8

X.Y.Z

3.8

X.Y.Z-python3.7

X.Y.Z

3.7

X.Y.Z-python3.6

X.Y.Z

3.6

Previous入门NextTask和Flow

Last updated 5 years ago

Was this helpful?

请注意本地服务依赖于和工具服务在后台运行。

一旦所有组件启动,你可以访问的UI。

Docker
Docker Compose
http://localhost:8080
Prefect官网
英版原文
联系译者
Prefect Server