apache-spark - 在 csv 文件中写入数据帧会删除字符串列中的前导空格

标签 apache-spark pyspark apache-spark-sql

假设我有一个 csv 文件:

UserName
"Ali "
"Bilal "
"Ahsan "

当我在 Spark 中阅读此内容时,数据是正确的。

------------
- UserName -
------------
- Ali      -
- Bilal    -
- Ahsan    -

但是当我将其写回 csv 文件时,空格将被删除并且文件已输出

UserName
"Ali"
"Bilal"
"Ahsan"

任何帮助将不胜感激。谢谢

最佳答案

在编写时,使用选项ignoreLeadingWhiteSpace并且ignoreTrailingWhiteSpace为true。默认情况下,在 Spark 中写入 csv 时它们为 true,而在读取时为 false。请参阅:https://spark.apache.org/docs/latest/sql-data-sources-csv.html

df.write.format("csv").option("ignoreTrailingWhiteSpace",true)..option("ignoreLeadingWhiteSpace",true).save(path)

如果解决请采纳答案。

关于apache-spark - 在 csv 文件中写入数据帧会删除字符串列中的前导空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55088105/

相关文章:

python - 将 json.dumps 转换为 Python 数据帧

python - 获取 Spark RDD 中每个键的最大值

r - sparklyr 我可以将格式和路径选项传递给 spark_write_table 吗?还是将 saveAsTable 与 spark_write_orc 一起使用?

java - 如何在 hadoop 中禁用 native zlib 压缩库

hadoop - 在 hadoop 上安装 spark

scala - 无法使用 spark shell 在 hdfs 中创建 Parquet 文件

python - 如何从 pyspark 中的另一列中查找一列的顶级层次结构?

scala - Spark : How to run logistic regression using only some features from LabeledPoint?

apache-spark - pyspark计算每组的空值数量

python - spark.sql() 和 spark.read.format ("jdbc").option ("query", "") 有什么区别?