Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 使用拼花格式时是否保存数据框架构?_Apache Spark_Apache Spark Sql_Spark Dataframe_Parquet - Fatal编程技术网

Apache spark 使用拼花格式时是否保存数据框架构?

Apache spark 使用拼花格式时是否保存数据框架构?,apache-spark,apache-spark-sql,spark-dataframe,parquet,Apache Spark,Apache Spark Sql,Spark Dataframe,Parquet,如果调用df.write.parquet(destination),数据帧模式(即StructType信息)是否与数据一起保存 如果拼花文件是由Spark以外的其他程序生成的,那么sqlContext.read.parquet如何计算数据帧的模式?文件在保存时会自动保留原始数据的模式。因此,无论是Spark还是其他写入/读取数据的系统,都没有区别 如果保存时使用一列或多列对数据进行分区,则这些列的数据类型将丢失(因为信息存储在文件结构中)。读取时,Spark可以自动推断这些数据类型(目前仅支持

如果调用
df.write.parquet(destination)
,数据帧模式(即
StructType
信息)是否与数据一起保存

如果拼花文件是由Spark以外的其他程序生成的,那么
sqlContext.read.parquet
如何计算数据帧的模式?

文件在保存时会自动保留原始数据的模式。因此,无论是Spark还是其他写入/读取数据的系统,都没有区别


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


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

如果数据集为空,则不显示。如果数据集为空,是否有办法保存模式?@midparse:这是一个已知的问题,Spark 2.4.0版中似乎已修复。链接到JIRA问题+此处可能的解决方法: