0

我们的 csv 文件的格式为 ^A 作为我们的列分隔符和 ^B 作为我们的行分隔符/记录分隔符。因此,我使用 databricks spark csv 库通过以下方式创建数据框:

val dataFrame = cassSqlContext.read.format("com.databricks.spark.csv")
      .option("header", "true").option("inferSchema", "true")
      .option("delimiter", "\u0001").load(file)

查看 spark csv 的文档,关于 headers 选项,它说:当设置为 true 时,文件的第一行将用于命名列并且不会包含在数据中。所有类型都将被假定为字符串。默认值为假。

但是,我们没有使用 \n,而是使用 ^B。那么有没有办法告诉 spark csv 库我们的标题也有一个分隔符而不是默认的 \n

4

1 回答 1

2

通过为我的 sparkContext 添加以下行,我能够使上述代码正常工作:

sparkContext.hadoopConfiguration.set("textinputformat.record.delimiter", "\u0002")

于 2017-03-15T21:05:09.777 回答