Scala Spark读取分区列显示为空
我在尝试使用Spark读取分区数据时遇到问题 如果分区列中的数据采用特定格式,则它将在生成的数据帧中显示为null 例如:Scala Spark读取分区列显示为空,scala,apache-spark,Scala,Apache Spark,我在尝试使用Spark读取分区数据时遇到问题 如果分区列中的数据采用特定格式,则它将在生成的数据帧中显示为null 例如: case class Alpha(a: String, b:Int) val ds1 = Seq(Alpha("2020-02-11_12h32m12s", 1), Alpha("2020-05-21_10h32m52s", 2), Alpha("2020-06-21_09h32m38s", 3)).toDS ds
case class Alpha(a: String, b:Int)
val ds1 = Seq(Alpha("2020-02-11_12h32m12s", 1), Alpha("2020-05-21_10h32m52s", 2), Alpha("2020-06-21_09h32m38s", 3)).toDS
ds1.show
+--------------------+---+
| a| b|
+--------------------+---+
|2020-02-11_12h32m12s| 1|
|2020-05-21_10h32m52s| 2|
|2020-06-21_09h32m38s| 3|
+--------------------+---+
ds1.write.partitionBy("a").parquet("test")
val ds2 = spark.read.parquet("test")
ds2.show
+---+----+
| b| a|
+---+----+
| 2|null|
| 3|null|
| 1|null|
+---+----+
你知道我怎样才能让数据以字符串(或时间戳)的形式显示吗
谢谢您的帮助。只需将参数
spark.sql.sources.partitionColumnTypeInference.enabled
设置为false
spark.conf.set("spark.sql.sources.partitionColumnTypeInference.enabled", "false")
只需将参数
spark.sql.sources.partitionColumnTypeEnference.enabled
设置为false
spark.conf.set("spark.sql.sources.partitionColumnTypeInference.enabled", "false")