读取具有空值的火花 csv,而不转换为空值



考虑一个csv:

Name,Color
Apple,""
val df = spark.read
.option("header", "true")
.option("inferSchema", "true")
.option("treatEmptyValuesAsNulls","false")
.csv(mycsv)

这仍然给出:

+--------+----------+
|Name    |Color     |
+--------+----------+
|   Apple|      null|
+--------+----------+

预期是:

+--------+----------+
|Name    |Color     |
+--------+----------+
|   Apple|          |
+--------+----------+

AFAIK,选项"treatEmptyValuesAsNulls"不存在。有关更多详细信息,请参阅文档。不过,您可能会对另外两个选项感兴趣。emptyValuenullValue.默认情况下,它们都设置为""但由于 null 值可用于任何类型,因此在仅对字符串类型可能出现的空值之前对其进行测试。因此,默认情况下,空字符串被解释为空值。如果将nullValue设置为除""以外的任何内容,例如"null""none",则空字符串将被读取为空字符串,而不是空值。

最新更新