airflow.providers.amazon.aws.transfers.mongo_to_s3

MongoToS3Operator

将数据从 MongoDB 移动到 S3。

模块内容

class airflow.providers.amazon.aws.transfers.mongo_to_s3.MongoToS3Operator(*, mongo_conn_id='mongo_default', aws_conn_id='aws_default', mongo_collection, mongo_query, s3_bucket, s3_key, mongo_db=None, mongo_projection=None, replace=False, allow_disk_use=False, compression=None, **kwargs)[源代码]

基类: airflow.models.BaseOperator

将数据从 MongoDB 移动到 S3。

参见

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

参数:
  • mongo_conn_id (str) – 对特定 mongo 连接的引用

  • aws_conn_id (str | None) – 对特定 S3 连接的引用

  • mongo_collection (str) – 对您 mongo 数据库中特定集合的引用

  • mongo_query (list | dict) – 要执行的查询。一个包含查询字典的列表

  • mongo_projection (list | dict | None) – 可选参数,用于按查询过滤返回的字段。它可以是要包含的字段名列表或用于排除字段的字典(例如 projection={"_id": 0}

  • s3_bucket (str) – 对存储数据的特定 S3 桶的引用

  • s3_key (str) – 文件将存储在 S3 中的哪个密钥下

  • mongo_db (str | None) – 对特定 mongo 数据库的引用

  • replace (bool) – 如果文件先前存在于 S3 中,是否替换它

  • allow_disk_use (bool) – 在处理大型数据集时启用写入临时文件。这仅在 mongo_query 是列表(运行聚合管道)时生效

  • compression (str | None) – 用于 S3 输出文件的压缩类型。目前仅支持 gzip。

template_fields: collections.abc.Sequence[str] = ('s3_bucket', 's3_key', 'mongo_query', 'mongo_collection')[源代码]
ui_color = '#589636'[源代码]
template_fields_renderers[源代码]
mongo_conn_id = 'mongo_default'[源代码]
aws_conn_id = 'aws_default'[源代码]
mongo_db = None[源代码]
mongo_collection[源代码]
mongo_query[源代码]
is_pipeline[源代码]
mongo_projection = None[源代码]
s3_bucket[源代码]
s3_key[源代码]
replace = False[源代码]
allow_disk_use = False[源代码]
compression = None[源代码]
execute(context)[源代码]

依赖于 transform 方法实现。

static transform(docs)[源代码]

转换数据以便传输。

此方法旨在由子类扩展,以执行这些操作符所需的特定转换。处理 pyMongo 游标并返回一个可迭代对象,其中每个元素都是一个可 JSON 序列化的字典。

默认实现假定不需要处理,即输入是文档的 pyMongo 游标,只需直接传递。

覆盖此方法以进行自定义转换。

此条目有帮助吗?