【发布时间】:2021-05-24 14:05:37
【问题描述】:
我有一个这样的 csv 数据文件(^ 作为分隔符):
| ID | name | age |
|---|---|---|
| 0 | ||
| 1 | Mike | 20 |
当我这样做时
df = spark.read.option("delimiter", "^").option("quote","").option("header", "true").option(
"inferSchema", "true").csv(xxxxxxx)
spark 会将第 0 行之后的第 2 列默认为空
df.show():
| ID | name | age |
|---|---|---|
| 0 | null | null |
| 1 | Mike | 20 |
如何阻止 pyspark 将数据读取为 null 但只是空字符串?
我已经尝试在最后添加一些选项
1,option("nullValue", "xxxx").option("treatEmptyValuesAsNulls", False)
2,option("nullValue", None).option("treatEmptyValuesAsNulls", False)
3,option("nullValue", None).option("emptyValue", None)
4,option("nullValue", "xxx").option("emptyValue", "xxx")
但是无论我做什么 pyspark 仍然将数据读取为 null.. 有没有办法让 pyspark 按原样读取空字符串?
谢谢
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql null