MONGO Spark 推断大型集合的模式



我正在使用mongo db spark connector(mongo-spark-connector_2.10(来读取mongo文档。 我的问题是关于架构推理的。

我看到mongo spark正在使用MongoSinglePartitioner来推断模式。因此,当我尝试对大型集合(数百万个文档(进行采样以推断架构时,它非常慢。默认样本数量为 1000。是否有任何理由让 mongo spark 使用 SinglePartitioner 来推断模式而不是使用多个分区。我想从集合中读取所有字段,因此我正在从集合中采样大量记录以推断架构。目前,对于 100 万条记录,架构推理需要 20 分钟。

有什么方法可以指定不同的分区程序来推断模式以加快模式推理速度?是否有任何其他方法可以从 mongo 推断大集合的模式。

是否有任何其他方法可以从 mongo 推断大集合的模式。

通常,如果要加载大型集合并且已经知道架构,则需要显式定义架构。

您可以使用简单的案例类来定义架构,从而防止额外的查询并加快加载过程。例如:

case class Creature(name: String, strength: Int, type: String)
val explicitDF = MongoSpark.load[Creature](sparkSession)()
explicitDF.printSchema()

相关内容

  • 没有找到相关文章

最新更新