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)[source]¶
基类:
airflow.models.BaseOperator
将数据从 SQL 复制到 Google Cloud Storage,格式包括 JSON、CSV 或 Parquet。
- 参数:
sql (str) – 要执行的 SQL 查询。
bucket (str) – 要上传到的存储桶。
filename (str) – 上传到 Google Cloud Storage 时用作对象名称的文件名。文件名中应包含
{}
,以便运算符在文件因大小而分割时注入文件编号。schema_filename (str | None) – 如果设置,则作为上传包含从数据库转储的表的 BigQuery 模式字段的 .json 文件时的对象名称。
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 文件的 null 标记。
gzip (bool) – 上传文件时是否压缩(不适用于模式文件)。
schema (str | list | None) – 要使用的模式,如果存在。应为字典列表或字符串。如果使用 Jinja 模板,则传递字符串;否则,传递字典列表。示例参见: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 所需的链式帐户列表。如果设置为字符串,该帐户必须授予源帐户 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个帐户授予此角色给源帐户 (模板化)。
upload_metadata (bool) – 是否将行数元数据作为 blob 元数据上传。
exclude_columns (set | None) – 从传输中排除的列集合。
partition_columns (list | None) – 用于文件分区的列列表。为了使用此参数,您必须按 partition_columns 对数据集进行排序。通过在 sql 查询中传递 ORDER BY 子句来实现。文件作为对象上传到 GCS,具有 hive 风格的分区目录结构 (模板化)。
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',...[source]¶
- template_ext: collections.abc.Sequence[str] = ('.sql',)[source]¶