Consider a csv:
Name,Color
Apple,""
val df = spark.read
.option("header", "true")
.option("inferSchema", "true")
.option("treatEmptyValuesAsNulls","false")
.csv(mycsv)
This still gives:
+--------+----------+
|Name |Color |
+--------+----------+
| Apple| null|
+--------+----------+
Expected was:
+--------+----------+
|Name |Color |
+--------+----------+
| Apple| |
+--------+----------+
.option("nullValue", null)instead.