我们的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时,文件的第一个行将用于命名列,不会包含在数据中。所有类型都将被假定为字符串。默认值为false。
但是我们没有使用\ n,而是使用^ B.那么有没有办法告诉spark csv库我们的头文件也有一个分隔符,而不是默认的\ n
答案 0 :(得分:2)
我能够通过为sparkContext添加以下行来获得上述代码:
sparkContext.hadoopConfiguration.set(" textinputformat.record.delimiter"," \ u0002")