【发布时间】:2020-06-03 08:56:40
【问题描述】:
将数据帧写入 delta 格式时,生成的 delta 似乎不遵循所写入数据帧的架构。具体来说,无论源数据帧模式如何,字段的“可为空”属性在生成的增量中似乎始终为“真”。这是预期的还是我在这里犯了错误?有没有办法让写入的 delta 的架构与源 df 完全匹配?
scala> df.schema
res2: org.apache.spark.sql.types.StructType = StructType(StructField(device_id,StringType,false), StructField(val1,StringType,true), StructField(val2,StringType,false), StructField(dt,StringType,true))
scala> df.write.format("delta").save("D:/temp/d1")
scala> spark.read.format("delta").load("D:/temp/d1").schema
res5: org.apache.spark.sql.types.StructType = StructType(StructField(device_id,StringType,true), StructField(val1,StringType,true), StructField(val2,StringType,true), StructField(dt,StringType,true))
【问题讨论】:
标签: apache-spark apache-spark-sql delta-lake