airflow.providers.amazon.aws.transfers.redshift_to_s3

将数据从 AWS Redshift 传输到 S3 存储桶。

模块内容

RedshiftToS3Operator

执行 UNLOAD 命令,将数据以 CSV 格式(带标题)卸载到 S3。

class airflow.providers.amazon.aws.transfers.redshift_to_s3.RedshiftToS3Operator(*, s3_bucket, s3_key, schema=None, table=None, select_query=None, redshift_conn_id='redshift_default', aws_conn_id='aws_default', verify=None, unload_options=None, autocommit=False, include_header=False, parameters=None, table_as_file_name=True, redshift_data_api_kwargs=None, **kwargs)[源代码]

基类: airflow.models.BaseOperator

执行 UNLOAD 命令,将数据以 CSV 格式(带标题)卸载到 S3。

另请参阅

有关如何使用此操作符的更多信息,请查看指南: Amazon Redshift 到 Amazon S3 传输操作符

参数
  • s3_bucket (str) – 指向特定 S3 存储桶的引用

  • s3_key (str) – 指向特定 S3 键的引用。如果 table_as_file_name 设置为 False,则此参数必须包含所需的文件名

  • schema (str | None) – 指向 redshift 数据库中特定 schema 的引用,当提供 table 参数且未提供 select_query 参数时使用。卸载临时表时请勿提供

  • table (str | None) – 指向 redshift 数据库中特定表的引用,当提供 schema 参数且未提供 select_query 参数时使用

  • select_query (str | None) – 用于从 redshift 数据库中获取数据的自定义 select 查询,优先级高于默认查询 SELECT * FROM ``schema`.``table``

  • redshift_conn_id (str) – 指向特定 redshift 数据库的引用

  • aws_conn_id (str | None) – 指向特定 S3 连接的引用。如果 AWS 连接的 extras 中包含 ‘aws_iam_role’,则操作符将使用带有令牌的 AWS STS 凭证 https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-authorization.html#copy-credentials

  • verify (bool | str | None) –

    是否验证 S3 连接的 SSL 证书。默认情况下,SSL 证书会被验证。您可以提供以下值

    • False:不验证 SSL 证书。仍然会使用 SSL

      (除非 use_ssl 为 False),但不会验证 SSL 证书。

    • path/to/cert/bundle.pem:要使用的 CA 证书包的文件名。

      如果您想使用与 botocore 使用的不同的 CA 证书包,则可以指定此参数。

  • unload_options (list | None) – 指向 UNLOAD 选项列表的引用

  • autocommit (bool) – 如果设置为 True,它将自动提交 UNLOAD 语句。否则,它将在 redshift 连接关闭之前提交。

  • include_header (bool) – 如果设置为 True,则 s3 文件包含标题列。

  • parameters (collections.abc.Iterable | collections.abc.Mapping | None) – (可选)用于呈现 SQL 查询的参数。

  • table_as_file_name (bool) – 如果设置为 True,则 s3 文件将以表名命名。当提供 table 参数时适用。

  • redshift_data_api_kwargs (dict | None) – 如果使用 Redshift Data API 而不是基于 SQL 的连接,则为 hook 的 execute_query 方法的参数字典。不能包含以下任何 kwargs:{'sql', 'parameters'}

property default_select_query: str | None[源代码]
property use_redshift_data[源代码]
template_fields: collections.abc.Sequence[str] = ('s3_bucket', 's3_key', 'schema', 'table', 'unload_options', 'select_query', 'redshift_conn_id',...[source]
template_ext: collections.abc.Sequence[str] = ('.sql',)[source]
template_fields_renderers[source]
ui_color = '#ededed'[source]
execute(context)[source]

创建操作符时派生。

上下文与渲染 Jinja 模板时使用的字典相同。

有关更多上下文,请参阅 get_template_context。

get_openlineage_facets_on_complete(task_instance)[source]

实现 on_complete,因为我们可能会查询表详细信息。

此条目是否有帮助?