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

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

使用 MongoDB 连接

为 MongoDB 创建连接后,您可以在 ETL 作业中使用此连接。您可以在Amazon Glue Data Catalog,MongoDB 指定connection属性。连接urlusernamepassword存储在 MongoDB 连接中。其他选项可以在作业脚本中指定为附加选项。其他选项可包括:

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

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

  • "ssl":(可选)如果true,然后Amazon Glue会启动 SSL 连接。默认值为 false

  • "ssl.domain_match":(可选)如果truessltrue,然后Amazon Glue执行域匹配检查。默认值为 true

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

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

    • MongoDefaultPartitioner (默认值)

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

    • MongoShardedPartitioner

    • MongoSplitVectorPartitioner

    • MongoPaginateByCountPartitioner

    • MongoPaginateBySizePartitioner

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

    • MongoSamplePartitionerpartitionKeypartitionSizeMB, 和samplesPerPartition

    • 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()