提交 6d996ea9 编写于 作者: T tssujt

Rename operator

上级 5c65428a
......@@ -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)
......
......@@ -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)
......
......@@ -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)以了解如何创建和管理连接。
......
......@@ -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
```
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册