使用Pyspark读取带有换行符(CRLF)的“合法”CSV文件(它遵循RFC4180)。下面的代码示例展示了在Notepad++中打开时它的样子:
我尝试使用sqlCtx.read.load读取,格式为='com.databricks.spark.csv。在这些特定情况下,结果数据集显示两行而不是一行。我正在使用Spark 2.1.0.2版本。
是否有任何命令或替代方法可以读取csv文件,并将这两行仅作为一行读取?
使用Pyspark读取带有换行符(CRLF)的“合法”CSV文件(它遵循RFC4180)。下面的代码示例展示了在Notepad++中打开时它的样子:
我尝试使用sqlCtx.read.load读取,格式为='com.databricks.spark.csv。在这些特定情况下,结果数据集显示两行而不是一行。我正在使用Spark 2.1.0.2版本。
是否有任何命令或替代方法可以读取csv文件,并将这两行仅作为一行读取?
spark.read.option("multiLine", "true").csv("file.csv")
从API文档中得知:
multiLine - 解析可能跨越多行的记录。如果未设置为None,则使用默认值false。
wholeFile
。如果你写下这个:spark.read.option("wholeFile", "true").csv("file.csv")
它将读取所有文件并处理多行CSV。
在Spark 2.1中没有这样的选项。您可以使用sparkContext.wholeTextFile
读取文件,或者使用更新的版本。