我有几个相当大的csv文件(几GB)使用双引号,即它看起来像这样

first field,"second, field","third ""field"""

出于性能原因,我想将它们转换为镶木地板文件,然后执行进一步的分析和转换步骤 . 为此,我使用pyspark功能构建来读取csv,即

df = spark.read.csv(file_name, schema=schema, escape='"')
df.write.parquet(base_dir+"/parquet/"+name, partitionBy="year")

当我读取csv for spark时,我找不到双引号的任何特定选项,因为你可以看到我使用了“作为转义字符 .

到目前为止它似乎工作,因为texfile中没有换行符(spark csv reader不支持此功能),但我有预感,这可能不是处理它的正确方法 . 有什么想法或建议吗?

由于文件非常大,性能也是一个问题,因此使用rdd和map似乎会带来高性能成本 .