用于 Mongo 的 AWS Glue 到 S3 中的 Parquet 文件
AWS Glue for Mongo to Parquet file in S3
我们可以将 AWS Glue 用于以下用途吗?
- 从 MongoDB
中提取数据
- 转换为 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")
我们可以将 AWS Glue 用于以下用途吗?
- 从 MongoDB 中提取数据
- 转换为 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")