【发布时间】:2021-03-02 20:04:37
【问题描述】:
我需要生成一个分隔文件,其中每一行由'^'分隔,列由'|'分隔。
似乎没有更改 csv 输出类型的行分隔符的选项。
例如:
df.coalesce(1).write\
.format("com.databricks.spark.csv")\
.mode("overwrite")\
.option("header", "true")\
.option("sep","|")\
# no options for setting lineSep to '^'
.save(destination_path)
【问题讨论】:
-
你能检查一下这个databricks url,他们建议在其中使用 spark._jvm.java.lang.System.setProperty("line.separator", "\n") 自定义行分隔符吗? forums.databricks.com/questions/12831/…
-
你可以使用选项作为 lineSep,这里默认是 \n 。见github.com/apache/spark/blob/…
-
@Prateek 我可以看到更改,github.com/apache/spark/pull/23080,哪个特定的 spark 版本包含此更改?
-
我在 2.4.4 版本的文档中找不到该更改。 spark.apache.org/docs/2.4.4/api/python/…
-
你可以尝试使用 option(key, value) 。示例选项(“lineSep”,“^”)
标签: apache-spark pyspark apache-spark-sql