【问题标题】:Spark write CSV not writing unicode characterSpark写CSV不写unicode字符
【发布时间】:2021-04-14 03:23:40
【问题描述】:

我有一个包含 unicode 字符(ctrl-B)的字符串作为数据框一列中的最后一个字符。

使用 spark 将其写入 CSV 后,字符串中没有最后一个 unicode 字符(ctrl-B)。

df.show()
+------------+-------+
|a      |      b|
+------------+-------+
|     25|0^B^B0^B|
+------------+-------+
df.write.format("com.databricks.spark.csv").save("/home/test_csv_data")


vim /home/test_csv_data/part*
25,0^B^B0

它没有最后一个 ctrl-B 字符。 但是,如果我使用 spark 以 ORC 或 parquet 格式编写它,那么最后一个 ctrl-B 就会出现。

请指导我,为什么会这样。最后如何在 csv 中获取 ctrl-B ?

【问题讨论】:

    标签: dataframe csv apache-spark pyspark apache-spark-sql


    【解决方案1】:

    '^B'被认为是一个空格,ignoreTrailingWhiteSpace的默认设置是true,会去掉,所以可以设置为false

    df.write.option("ignoreTrailingWhiteSpace","false").format("com.databricks.spark.csv").save("/home/test_csv_data")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 2016-03-29
      • 2018-03-07
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 2017-03-28
      相关资源
      最近更新 更多