spark.read.parquet 中的模式推理是如何工作的?

How does schema inference work in spark.read.parquet?

我正在尝试在 spark 上读取镶木地板文件,但我有一个问题。

使用 spark.read.parquet 加载 parquet 文件时如何推断类型?

有没有像1这样的映射字典? 或者它是从实际存储的值推断出来的 2?

Spark 使用 parquet 模式将其解析为内部表示(即 StructType),很难在 spark 文档上找到此信息。我通过代码在此处找到您要查找的映射:

https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala#L197-L281