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 db 中特定集合的引用

  • 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[源代码]
execute(context)[源代码]

编写为依赖于转换方法。

static transform(docs)[源代码]

转换用于传输的数据。

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

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

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

此条目是否有帮助?