【问题标题】:Apply UTF8 encoding when writing Scala Dataframe into CSV file将 Scala Dataframe 写入 CSV 文件时应用 UTF8 编码
【发布时间】:2019-10-24 18:28:19
【问题描述】:

在 Spark2-Scala 中将数据帧写入 CSV 文件时,如何正确应用 UTF8 编码?我正在使用这个:

df.repartition(1).write.mode(SaveMode.Overwrite)
.format("csv").option("header", true).option("delimiter", "|")
.save(Path)

而且它不起作用:例如:将 é 替换为奇怪的字符串。

谢谢。

【问题讨论】:

  • UTF-8 是 Spark 使用的默认编码。
  • @Shaido 那为什么我的输出中有奇怪的字符?我在 Spark-Shell 中检查了我的 DF,它很好
  • 你能把你的外壳和其他的图片贴出来以便更好地理解吗?
  • 尝试将encoding 选项显式设置为UTF-8,但如果未设置该选项,这是默认编码。也许 Spark 在不同的语言环境下运行。
  • 我的意思是.option("encoding", "UTF-8")

标签: scala dataframe apache-spark utf-8


【解决方案1】:

正如@Hristo Iliev 建议的那样,我需要强制使用 UTF 编码:

df.repartition(1).write.mode(SaveMode.Overwrite)
.format("csv").option("header", true).option("encoding", "UTF-8").option("delimiter", "|")
.save(Path)

【讨论】:

    猜你喜欢
    • 2013-05-31
    • 2023-04-05
    • 2015-08-01
    • 2021-08-18
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多