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 遊標,只需直接傳遞。

覆蓋此方法以進行自定義轉換。

此條目有幫助嗎?