使用镶木地板格式时是否保存了DataFrame架构?

时间:2017-12-12 07:45:54

标签: apache-spark apache-spark-sql spark-dataframe parquet

如果有人调用df.write.parquet(destination),DataFrame架构(即StructType信息)是否与数据一起保存?

如果镶木地板文件是由除Spark以外的其他程序生成的,那么sqlContext.read.parquet如何找出DataFrame的架构?

1 个答案:

答案 0 :(得分:1)

保存时,

Parquet个文件会自动保留原始数据的架构。因此,如果它的Spark或其他系统写入/读取数据,则没有区别。

如果在保存时使用一列或多列对数据进行分区,则这些列的数据类型将丢失(因为信息存储在文件结构中)。这些数据类型可以在Spark读取时自动推断(目前只支持数字数据类型和字符串)。

可以通过将spark.sql.sources.partitionColumnTypeInference.enabled设置为false来关闭此自动推理,这将使这些列作为字符串读取。有关详细信息,请参阅here

相关问题