airflow.providers.google.cloud.transfers.cassandra_to_gcs

此模块包含用于将数据从 Cassandra 以 JSON 格式复制到 Google Cloud Storage 的操作符。

模块内容

CassandraToGCSOperator

以 JSON 格式将数据从 Cassandra 复制到 Google Cloud Storage。

属性

NotSetType

NOT_SET

airflow.providers.google.cloud.transfers.cassandra_to_gcs.NotSetType[源代码]
airflow.providers.google.cloud.transfers.cassandra_to_gcs.NOT_SET[源代码]
class airflow.providers.google.cloud.transfers.cassandra_to_gcs.CassandraToGCSOperator(*, cql, bucket, filename, schema_filename=None, approx_max_file_size_bytes=1900000000, gzip=False, cassandra_conn_id='cassandra_default', gcp_conn_id='google_cloud_default', impersonation_chain=None, query_timeout=NOT_SET, encode_uuid=True, **kwargs)[源代码]

基类: airflow.models.BaseOperator

以 JSON 格式将数据从 Cassandra 复制到 Google Cloud Storage。

注意:不支持数组的数组。

参数
  • cql (str) – 要在 Cassandra 表上执行的 CQL。

  • bucket (str) – 要上传到的存储桶。

  • filename (str) – 上传到 Google Cloud Storage 时用作对象名称的文件名。应在文件名中指定 {},以便在文件因大小而拆分的情况下,操作符可以注入文件编号。

  • schema_filename (str | None) – 如果设置,则用作对象名称的文件名,当上传一个 .json 文件时,该文件包含从 MySQL 转储的表的 BigQuery 模式字段。

  • approx_max_file_size_bytes (int) – 此操作符支持将大型表转储拆分为多个文件的功能(请参阅上面文件名参数文档中的说明)。此参数允许开发人员指定拆分的文件大小。请查看 https://cloud.google.com/storage/quotas 以查看单个对象允许的最大文件大小。

  • cassandra_conn_id (str) – 对特定 Cassandra hook 的引用。

  • gzip (bool) – 用于上传的压缩文件选项

  • gcp_conn_id (str) – (可选) 用于连接到 Google Cloud 的连接 ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务帐户,用于使用短期凭据模拟,或者用于获取列表中最后一个帐户的 access_token 的链接帐户列表,该帐户将在请求中被模拟。如果设置为字符串,则该帐户必须授予原始帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的身份必须向直接前面的身份授予“服务帐户令牌创建者”IAM 角色,列表中的第一个帐户将此角色授予原始帐户(已模板化)。

  • query_timeout (float | None | NotSetType) – (可选) 执行 Cassandra 查询所用的时间量,以秒为单位。如果未设置,超时值将由 Cassandra 驱动程序在 Session.execute() 中设置。如果设置为 None,则没有超时。

  • encode_uuid (bool) – (可选) 当从 Cassandra 上传到 GCS 时是否编码 UUID 的选项。默认是编码 UUID。

template_fields: collections.abc.Sequence[str] = ('cql', 'bucket', 'filename', 'schema_filename', 'impersonation_chain')[源代码]
template_ext: collections.abc.Sequence[str] = ('.cql',)[源代码]
ui_color = '#a0e08c'[源代码]
CQL_TYPE_MAP[源代码]
execute(context)[源代码]

在创建操作符时派生。

Context 是与渲染 Jinja 模板时使用的相同的字典。

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

generate_data_dict(names, values)[源代码]

生成将作为文件存储在 GCS 中的数据结构。

convert_value(value)[源代码]

将值转换为 BQ 类型。

convert_array_types(value)[源代码]

在数组上映射 convert_value。

convert_user_type(value)[源代码]

将用户类型转换为包含 n 个字段的 RECORD,其中 n 是属性的数量。

用户类型类中的每个元素都将转换为其在 BQ 中对应的数据类型。

convert_tuple_type(values)[源代码]

将元组转换为包含 n 个字段的 RECORD。

每个字段都将转换为其在 bq 中对应的数据类型,并将命名为 ‘field_<index>’,其中 index 由 cassandra 中定义的元组元素的顺序确定。

convert_map_type(value)[源代码]

将映射转换为包含两个字段的重复 RECORD:‘key’ 和 ‘value’。

每个都将转换为其在 BQ 中对应的数据类型。

classmethod generate_schema_dict(name, type_)[源代码]

生成 BQ 模式。

classmethod get_bq_fields(type_)[源代码]

将非简单类型的值转换为 BQ 表示形式。

static is_simple_type(type_)[源代码]

检查类型是否为简单类型。

static is_array_type(type_)[源代码]

检查类型是否为数组类型。

static is_record_type(type_)[源代码]

检查记录类型。

classmethod get_bq_type(type_)[源代码]

将类型转换为等效的 BQ 类型。

classmethod get_bq_mode(type_)[源代码]

将类型转换为等效的 BQ 模式。

此条目是否有帮助?