我们的 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