用于 Mongo 的 AWS Glue 到 S3 中的 Parquet 文件

AWS Glue for Mongo to Parquet file in S3

我们可以将 AWS Glue 用于以下用途吗?

  1. 从 MongoDB
  2. 中提取数据
  3. 转换为 Parquet 文件并将数据存储在 S3 中

是的,这可以在您的 Glue ETL 作业中使用 "connectionType": "mongodb" as Source 来完成,请参阅 this 了解语法。

this 也有下面的示例,它从 mongodb 读取数据,然后可以以 parquet 文件格式写入 S3。

mongo_uri = "mongodb://<mongo-instanced-ip-address>:27017"


read_mongo_options = {
    "uri": mongo_uri,
    "database": "test",
    "collection": "coll",
    "username": "username",
    "password": "pwd",
    "partitioner": "MongoSamplePartitioner",
    "partitionerOptions.partitionSizeMB": "10",
    "partitionerOptions.partitionKey": "_id"}

dynamic_frame = glueContext.create_dynamic_frame.from_options(connection_type="mongodb",
                                                              connection_options=read_mongo_options)    

获得数据后,在执行任何要执行的转换后,使用以下语句将数据写回 s3:

glueContext.write_dynamic_frame.from_options(frame = dynamic_frame,
          connection_type = "s3",
          connection_options = {"path": "s3://glue-parquet/output-dir"},
          format = "parquet")