airflow.providers.google.cloud.transfers.sql_to_gcs
¶
用于 SQL 到 GCS 操作符的基本操作符。
模块内容¶
类¶
将数据从 SQL 复制到 Google Cloud Storage,格式为 JSON、CSV 或 Parquet。 |
- class airflow.providers.google.cloud.transfers.sql_to_gcs.BaseSQLToGCSOperator(*, sql, bucket, filename, schema_filename=None, approx_max_file_size_bytes=1900000000, export_format='json', stringify_dict=False, field_delimiter=',', null_marker=None, gzip=False, schema=None, parameters=None, gcp_conn_id='google_cloud_default', impersonation_chain=None, upload_metadata=False, exclude_columns=None, partition_columns=None, write_on_empty=False, parquet_row_group_size=100000, **kwargs)[源代码]¶
基类:
airflow.models.BaseOperator
将数据从 SQL 复制到 Google Cloud Storage,格式为 JSON、CSV 或 Parquet。
- 参数
sql (str) – 要执行的 SQL。
bucket (str) – 要上传到的存储桶。
filename (str) – 上传到 Google Cloud Storage 时用作对象名称的文件名。应在文件名中指定
{}
,以便操作符在因大小而拆分文件的情况下注入文件编号。schema_filename (str | None) – 如果设置,则用作对象名称的文件名,当上传一个 .json 文件时,该文件包含从数据库转储的表的 BigQuery 模式字段。
approx_max_file_size_bytes (int) – 此操作符支持将大型表转储拆分为多个文件的能力(请参阅上面 filename 参数文档中的注释)。此参数允许开发人员指定拆分的文件大小。请查看 https://cloud.google.com/storage/quotas,以查看单个对象允许的最大文件大小。
export_format (str) – 要导出的文件的所需格式。(json、csv 或 parquet)
stringify_dict (bool) – 是否将字典类型对象(例如 JSON 列)转储为字符串。仅适用于 CSV/JSON 导出格式。
field_delimiter (str) – 用于 CSV 文件的分隔符。
null_marker (str | None) – 用于 CSV 文件的空标记。
gzip (bool) – 用于压缩文件以上传的选项(不适用于模式)。
schema (str | list | None) – 要使用的模式(如果有)。应该是 dict 的列表或一个 str。如果使用 Jinja 模板,则传递一个字符串,否则传递一个 dict 列表。可以在以下位置查看示例:https://cloud.google.com/bigquery/docs /schemas#specifying_a_json_schema_file
gcp_conn_id (str) – (可选)用于连接到 Google Cloud 的连接 ID。
parameters (dict | None) – 一个参数字典,在查询运行时会被替换。
impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务帐户,用于使用短期凭据模拟,或获取列表中最后一个帐户的 access_token 所需的链式帐户列表,该帐户将在请求中被模拟。如果设置为字符串,则帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须将“服务帐户令牌创建者”IAM 角色授予紧邻的前一个身份,列表中的第一个帐户将此角色授予发起帐户(已模板化)。
upload_metadata (bool) – 是否将行计数元数据作为 Blob 元数据上传
exclude_columns (set | None) – 要从传输中排除的列的集合
partition_columns (list | None) – 用于文件分区的列的列表。为了使用此参数,您必须按 partition_columns 对数据集进行排序。通过将 ORDER BY 子句传递给 sql 查询来执行此操作。文件作为具有 Hive 样式分区目录结构的对象上传到 GCS(已模板化)。
write_on_empty (bool) – 可选参数,用于指定在导出不返回任何行时是否写入文件。默认为 False,因此如果导出不返回任何行,我们将不会写入文件。
parquet_row_group_size (int) – 使用 parquet 格式时,每个行组中的近似行数。使用较大的行组大小可以减少文件大小并提高读取数据的性能,但是它需要更多的内存来执行操作符。(默认值:100000)
- template_fields: collections.abc.Sequence[str] = ('sql', 'bucket', 'filename', 'schema_filename', 'schema', 'parameters', 'impersonation_chain',...[源代码]¶
- template_ext: collections.abc.Sequence[str] = ('.sql',)[源代码]¶