在Spark中,使用DataFrame的write方法将数据写入CSV文件中,然后在write.options中设置相应的参数来控制CSV文件的格式。为了保留Windows风格的换行符(CRLF),需要将option("lineSep", "\r\n")设置为CRLF。以下是示例代码:
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.appName("CSVWrite").getOrCreate()
# 创建一个DataFrame
data = [("John", "Doe"), ("Jane", "Doe"), ("Alice", "Smith")]
df = spark.createDataFrame(data, ["first_name", "last_name"])
# 将DataFrame写入CSV文件并保留CRLF
df.write \
.option("header", "true") \
.option("lineSep", "\r\n") \
.csv("output.csv")
在这个示例中,设置了header选项,因为数据包含标题。将lineSep选项设置为"\r\n"可确保在CSV文件中使用Windows风格的换行符。写出的文件将命名为"output.csv",并保存在当前工作目录中。