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
Dataframe 可空字段在写入Spark数据帧时更改_Dataframe_Apache Spark_Apache Spark Sql - Fatal编程技术网

Dataframe 可空字段在写入Spark数据帧时更改

Dataframe 可空字段在写入Spark数据帧时更改,dataframe,apache-spark,apache-spark-sql,Dataframe,Apache Spark,Apache Spark Sql,下面的代码从拼花文件读取Spark数据帧,并写入另一个拼花文件。ArrayType数据类型中的Nullable字段在将数据帧写入新的拼花地板文件后发生更改 代码: 输出: ArrayType(IntegerType,false) ArrayType(IntegerType,true) Spark版本为:1.6.2对于Spark 2.4或之前的版本,从Spark sql写入的所有列都可以为空。引用 拼花地板是一种柱状格式,许多其他数据处理系统都支持这种格式。Spark SQL支持读取和写入自动保

下面的代码从拼花文件读取Spark数据帧,并写入另一个拼花文件。ArrayType数据类型中的Nullable字段在将数据帧写入新的拼花地板文件后发生更改

代码:

输出:

ArrayType(IntegerType,false)
ArrayType(IntegerType,true)

Spark版本为:1.6.2

对于Spark 2.4或之前的版本,从Spark sql写入的所有列都可以为空。引用

拼花地板是一种柱状格式,许多其他数据处理系统都支持这种格式。Spark SQL支持读取和写入自动保留原始数据模式的拼花地板文件。在编写拼花文件时,出于兼容性原因,所有列都会自动转换为可为空


有什么强有力的理由吗?如果列没有自动转换为null,那么兼容性问题是什么?我真的不知道答案。但我认为它与如何输出数据帧有关。是否可以禁用此转换?
ArrayType(IntegerType,false)
ArrayType(IntegerType,true)