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