使用 MongoDB 连接 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 MongoDB 连接

为 MongoDB 创建连接后,您可以在 ETL 作业中使用此连接。您在 AWS Glue 数据目录 中创建表,并为表的 MongoDB 属性指定 connection 连接。连接 urlusernamepassword 存储在 MongoDB 连接中。其他选项可在作业脚本中指定为附加选项。其他选项可能包括:

  • "database": (必需)要从中读取数据的 MongoDB 数据库。

  • "collection": (必需)要从中读取数据的 MongoDB 集合。

  • "ssl": (可选)如果为 true,则 AWS Glue 启动 SSL 连接。默认值是 false

  • "ssl.domain_match": (可选)如果 truessltrue,则 AWS Glue 执行域匹配检查。默认值是 true

  • "batchSize": (可选): 每个批处理返回的文档数量,在内部批处理的游标中使用。

  • "partitioner": (可选): 用于从 MongoDB 读取输入数据的分区器的类名称。 连接器提供以下分区器:

    • MongoDefaultPartitioner(默认值)

    • MongoSamplePartitioner(需要 MongoDB 3.2 或更高版本)

    • MongoShardedPartitioner

    • MongoSplitVectorPartitioner

    • MongoPaginateByCountPartitioner

    • MongoPaginateBySizePartitioner

  • "partitionerOptions": (可选): 指定分区器的选项。各个分区器支持的选项如下:

    • MongoSamplePartitionerpartitionKeypartitionSizeMBsamplesPerPartition

    • MongoShardedPartitionershardkey

    • MongoSplitVectorPartitionerpartitionKeypartitionSizeMB

    • MongoPaginateByCountPartitionerpartitionKeynumberOfPartitions

    • MongoPaginateBySizePartitionerpartitionKeypartitionSizeMB

有关这些选项的详细信息,请参阅 https://docs.mongodb.com/spark-connector/master/configuration/#partitioner-conf

以下示例演示如何从目录源获取 DynamicFrame

Python
glue_context.create_dynamic_frame_from_catalog( database = nameSpace, table_name = tableName, additional_options = {"database":"database_name", "collection":"collection_name"})
Scala
val resultFrame: DynamicFrame = glueContext.getCatalogSource( database = nameSpace, tableName = tableName, additionalOptions = JsonOptions(Map("database" -> DATABASE_NAME, "collection" -> COLLECTION_NAME)) ).getDynamicFrame()