airflow.providers.common.sql.operators.generic_transfer¶
类¶
将数据从一个连接移动到另一个连接。 |
模块内容¶
- class airflow.providers.common.sql.operators.generic_transfer.GenericTransfer(*, sql, destination_table, source_conn_id, source_hook_params=None, destination_conn_id, destination_hook_params=None, preoperator=None, insert_args=None, page_size=None, **kwargs)[源代码]¶
基类:
airflow.models.BaseOperator
将数据从一个连接移动到另一个连接。
假设它们都在各自的 hook 中提供了所需的方法。源 hook 需要暴露一个 get_records 方法,目标 hook 需要暴露一个 insert_rows 方法。
这适用于适合内存的较小数据集。
- 参数:
sql (str) – 对源数据库执行的 SQL 查询。(模板化)
destination_table (str) – 目标表。(模板化)
source_conn_id (str) – 源连接。(模板化)
source_hook_params (dict | None) – 源 hook 参数。
destination_conn_id (str) – 目标连接。(模板化)
destination_hook_params (dict | None) – 目标 hook 参数。
preoperator (str | list[str] | None) – 在加载数据之前执行的 SQL 语句或语句列表。(模板化)
insert_args (dict | None) – insert_rows 方法的额外参数。
page_size (int | None) – 分页模式下读取的记录数(可选)。
- template_fields: collections.abc.Sequence[str] = ('source_conn_id', 'destination_conn_id', 'sql', 'destination_table', 'preoperator', 'insert_args')[源代码]¶
- template_ext: collections.abc.Sequence[str] = ('.sql', '.hql')[源代码]¶
- classmethod get_hook(conn_id, hook_params=None)[源代码]¶
返回此连接 ID 的 DbApiHook。
- 参数:
- 返回:
此连接的 DbApiHook
- 返回类型:
- property source_hook: airflow.providers.common.sql.hooks.sql.DbApiHook[源代码]¶
- property destination_hook: airflow.providers.common.sql.hooks.sql.DbApiHook[源代码]¶
- render_template_fields(context, jinja_env=None)[源代码]¶
模板化 self.template_fields 中列出的所有属性。
这会就地改变属性,且不可逆。
- 参数:
context (airflow.sdk.definitions.context.Context) – 包含要应用于内容的上下文字典。
jinja_env (jinja2.Environment | None) – 用于渲染的 Jinja 环境。