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

使用 MongoDB 连接

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

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

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

  • "ssl":(可选)如果为 true,则 Amazon Glue 启动 SSL 连接。原定设置值为 false

  • "ssl.domain_match":(可选)如果为 true,且 ssltrue,则 Amazon 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()