Nor*_*sul 8 hive scala delimiter apache-spark spark-csv
非常新的火花和蜂巢和大数据和scala等等.我正在尝试编写一个简单的函数,它接受一个sqlContext,从s3加载一个csv文件并返回一个DataFrame.问题是这个特定的csv使用^ A(即\ 001)字符作为分隔符,数据集很大,所以我不能只对它做一个"s /\001 /,/ g".此外,这些字段可能包含逗号或我可能用作分隔符的其他字符.
我知道我正在使用的spark-csv包有一个分隔符选项,但是我不知道如何设置它以便它将\ 001作为一个字符读取而不是像转义的0,0和1那样.也许我应该使用hiveContext或其他东西?
Dan*_*nai 19
如果你检查GitHub页面,有一个delimiterspark-csv 的参数(你也注意到了).像这样使用它:
val df = sqlContext.read
    .format("com.databricks.spark.csv")
    .option("header", "true") // Use first line of all files as header
    .option("inferSchema", "true") // Automatically infer data types
    .option("delimiter", "\u0001")
    .load("cars.csv")