Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
airflow-doc-zh
提交
6d996ea9
A
airflow-doc-zh
项目概览
OpenDocCN
/
airflow-doc-zh
8 个月 前同步成功
通知
3
Star
208
Fork
63
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
airflow-doc-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6d996ea9
编写于
4月 22, 2019
作者:
T
tssujt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Rename operator
上级
5c65428a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
19 addition
and
19 deletion
+19
-19
CONTRIBUTING.md
CONTRIBUTING.md
+1
-1
SUMMARY.md
SUMMARY.md
+1
-1
zh/20.md
zh/20.md
+14
-14
zh/5.md
zh/5.md
+2
-2
zh/6.md
zh/6.md
+1
-1
未找到文件。
CONTRIBUTING.md
浏览文件 @
6d996ea9
...
...
@@ -22,7 +22,7 @@
+
[
6 操作指南
](
zh/6.md
)
+
[
7 设置配置选项
](
zh/7.md
)
+
[
8 初始化数据库后端
](
zh/8.md
)
+
[
9 使用
操作器
](
zh/9.md
)
+
[
9 使用
Operators
](
zh/9.md
)
+
[
10 管理连接
](
zh/10.md
)
+
[
11 保护连接
](
zh/11.md
)
+
[
12 写日志
](
zh/12.md
)
...
...
SUMMARY.md
浏览文件 @
6d996ea9
...
...
@@ -6,7 +6,7 @@
+
[
操作指南
](
zh/6.md
)
+
[
设置配置选项
](
zh/7.md
)
+
[
初始化数据库后端
](
zh/8.md
)
+
[
使用
操作器
](
zh/9.md
)
+
[
使用
Operators
](
zh/9.md
)
+
[
管理连接
](
zh/10.md
)
+
[
保护连接
](
zh/11.md
)
+
[
写日志
](
zh/12.md
)
...
...
zh/20.md
浏览文件 @
6d996ea9
...
...
@@ -54,7 +54,7 @@ print(op.owner) # Airflow
_ 在 Airflow 1.8 中添加 _
DAG 可用作上下文管理器,以自动将新
操作器
分配给该 DAG。
DAG 可用作上下文管理器,以自动将新
Operator
分配给该 DAG。
```
py
with
DAG
(
'my_dag'
,
start_date
=
datetime
(
2016
,
1
,
1
))
as
dag
:
...
...
@@ -67,11 +67,11 @@ op.dag is dag # True
虽然 DAG 描述了如何运行工作流,但
`Operators`
确定实际完成的工作。
操作器描述工作流中的单个任务。 操作器通常(但并非总是)是原子的,这意味着他们可以独立运营,而不需要与任何其他操作器共享资源。DAG 将确保操作器以正确的顺序运行; 除了这些依赖项之外,操作器通常独立运行。实际上,它们可能
在两台完全不同的机器上运行。
Operator 描述工作流中的单个任务。Operator 通常(但并非总是)是原子的,这意味着他们可以独立运营,而不需要与任何其他 Operator 共享资源。DAG 将确保 Operator 以正确的顺序运行; 除了这些依赖项之外, Operator 通常独立运行。实际上,它们可以
在两台完全不同的机器上运行。
这是一个微妙但非常重要的一点:通常,如果两个
操作器需要共享信息,如文件名或少量数据,您应该考虑将它们组合到一个操作器
中。如果绝对无法避免,Airflow 确实具有操作员交叉通信的功能,称为 XCom,本文档的其他部分对此进行了描述。
这是一个微妙但非常重要的一点:通常,如果两个
Operator 需要共享信息,如文件名或少量数据,您应该考虑将它们组合到一个 Operator
中。如果绝对无法避免,Airflow 确实具有操作员交叉通信的功能,称为 XCom,本文档的其他部分对此进行了描述。
Airflow 为许多常见任务提供
操作器
,包括:
Airflow 为许多常见任务提供
Operator
,包括:
*
`BashOperator`
- 执行 bash 命令
*
`PythonOperator`
- 调用任意 Python 函数
...
...
@@ -80,19 +80,19 @@ Airflow 为许多常见任务提供操作器,包括:
*
`MySqlOperator`
,
`SqliteOperator`
,
`PostgresOperator`
,
`MsSqlOperator`
,
`OracleOperator`
,
`JdbcOperator`
等 - 执行 SQL 命令
*
`Sensor`
- 等待一定时间,文件,数据库行,S3 键等...
除了这些基本构建块之外,还有许多特定的
操作器
:
`DockerOperator`
,
`HiveOperator`
,
`S3FileTransformOperator`
,
`PrestoToMysqlOperator`
,
`SlackOperator`
......你会明白的!
除了这些基本构建块之外,还有许多特定的
Operator
:
`DockerOperator`
,
`HiveOperator`
,
`S3FileTransformOperator`
,
`PrestoToMysqlOperator`
,
`SlackOperator`
......你会明白的!
`airflow/contrib/`
目录包含更多由社区构建的
操作器
。这些运算符并不总是像主发行版中那样完整或经过良好测试,但允许用户更轻松地向平台添加新功能。
`airflow/contrib/`
目录包含更多由社区构建的
Operator
。这些运算符并不总是像主发行版中那样完整或经过良好测试,但允许用户更轻松地向平台添加新功能。
如果将
操作器分配给 DAG,则操作器
仅由 Airflow 加载。
如果将
Operator 分配给 DAG,则 Operator
仅由 Airflow 加载。
请参阅
[
使用
操作器
](
zh/9.md
)
了解如何使用 Airflow 操作器
。
请参阅
[
使用
Operators
](
zh/9.md
)
了解如何使用 Airflow Operator
。
#### DAG 分配
_ 在 Airflow 1.8 中添加 _
操作器不必立即分配给 DAG(之前的
`dag`
是必需参数)。但是,一旦将操作器
分配给 DAG,就无法转移或取消分配。在创建运算符时,通过延迟赋值或甚至从其他运算符推断,可以显式地完成 DAG 分配。
Operator 不必立即分配给 DAG(之前的
`dag`
是必需参数)。但是,一旦将 Operator
分配给 DAG,就无法转移或取消分配。在创建运算符时,通过延迟赋值或甚至从其他运算符推断,可以显式地完成 DAG 分配。
```
py
dag
=
DAG
(
'my_dag'
,
start_date
=
datetime
(
2016
,
1
,
1
))
...
...
@@ -167,7 +167,7 @@ with DAG('my_dag', start_date=datetime(2016, 1, 1)) as dag:
### 任务
一旦
操作器被实例化,它就被称为“任务”。实例化在调用抽象操作器
时定义特定值,参数化任务成为 DAG 中的节点。
一旦
Operator 被实例化,它就被称为“任务”。实例化在调用抽象 Operator
时定义特定值,参数化任务成为 DAG 中的节点。
### 任务实例
...
...
@@ -178,8 +178,8 @@ with DAG('my_dag', start_date=datetime(2016, 1, 1)) as dag:
您现在熟悉 Airflow 的核心构建模块。 有些概念可能听起来非常相似,但词汇表可以概念化如下:
*
DAG:描述工作应该发生的顺序
*
操作器
:作为执行某些工作的模板的类
*
任务:
操作器
参数化实例
*
Operator
:作为执行某些工作的模板的类
*
任务:
Operator
参数化实例
*
任务实例:1)已分配给 DAG 的任务,2)具有与 DAG 的特定运行相关联的状态
通过组合
`DAGs`
和
`Operators`
来创建
`TaskInstances`
,您可以构建复杂的工作流。
...
...
@@ -190,7 +190,7 @@ with DAG('my_dag', start_date=datetime(2016, 1, 1)) as dag:
### 钩
钩子是外部平台和数据库的接口,如 Hive,S3,MySQL,Postgres,HDFS 和 Pig。Hooks 尽可能实现通用接口,并充当
操作器
的构建块。他们还使用
`airflow.models.Connection`
模型来检索主机名和身份验证信息。钩子将身份验证代码和信息保存在管道之外,集中在元数据数据库中。
钩子是外部平台和数据库的接口,如 Hive,S3,MySQL,Postgres,HDFS 和 Pig。Hooks 尽可能实现通用接口,并充当
Operator
的构建块。他们还使用
`airflow.models.Connection`
模型来检索主机名和身份验证信息。钩子将身份验证代码和信息保存在管道之外,集中在元数据数据库中。
钩子在 Python 脚本,Airflow airflow.operators.PythonOperator 以及 iPython 或 Jupyter Notebook 等交互式环境中使用它们也非常有用。
...
...
@@ -224,7 +224,7 @@ Airflow 还能够通过操作系统中的环境变量引用连接。但它只支
如果在 Airflow 元数据数据库和环境变量中都定义了具有相同
`conn_id`
连接,则 Airflow 将仅引用环境变量中的连接(例如,给定
`conn_id`
`postgres_master`
,在开始搜索元数据数据库之前,Airflow 将优先在环境变量中搜索
`AIRFLOW_CONN_POSTGRES_MASTER`
并直接引用它)。
许多钩子都有一个默认的
`conn_id`
,使用该挂钩的
操作器
不需要提供显式连接 ID。 例如,
[
`PostgresHook`
](
zh/31.md
)
的默认
`conn_id`
是
`postgres_default`
。
许多钩子都有一个默认的
`conn_id`
,使用该挂钩的
Operator
不需要提供显式连接 ID。 例如,
[
`PostgresHook`
](
zh/31.md
)
的默认
`conn_id`
是
`postgres_default`
。
请参阅
[
管理连接
](
zh/10.md
)
以了解如何创建和管理连接。
...
...
zh/5.md
浏览文件 @
6d996ea9
...
...
@@ -34,7 +34,7 @@ default_args = {
dag
=
DAG
(
'tutorial'
,
default_args
=
default_args
,
schedule_interval
=
timedelta
(
days
=
1
))
# t1、t2 和 t3 是通过实例化
operators(操作器)
创建的任务示例
# t1、t2 和 t3 是通过实例化
Operators
创建的任务示例
t1
=
BashOperator
(
task_id
=
'print_date'
,
bash_command
=
'date'
,
...
...
@@ -78,7 +78,7 @@ t3.set_upstream(t1)
# DAG 对象; 我们将需要它来实例化一个 DAG
from
airflow
import
DAG
# Operators
(操作器)
; 我们需要利用这个对象去执行流程!
# Operators; 我们需要利用这个对象去执行流程!
from
airflow.operators.bash_operator
import
BashOperator
```
...
...
zh/6.md
浏览文件 @
6d996ea9
...
...
@@ -8,7 +8,7 @@
*
[
设置配置选项
](
zh/7.md
)
*
[
初始化数据库后端
](
zh/8.md
)
*
[
使用
操作器
](
zh/9.md
)
*
[
使用
Operators
](
zh/9.md
)
*
[
BashOperator
](
zh/9.md
)
*
[
PythonOperator
](
zh/9.md
)
*
[
Google Cloud Platform Operators
](
zh/9.md
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录