我目前正在使用Apache Spark进行首次尝试。 我想读取带有SQLContext对象的.csv文件,但Spark不会提供正确的结果,因为File是欧洲文件(逗号为小数分隔符,分号用作值分隔符)。 有没有办法告诉Spark遵循不同的.csv语法?
val conf = new SparkConf()
.setMaster("local[8]")
.setAppName("Foo")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
val df = sqlContext.read
.format("org.apache.spark.sql.execution.datasources.csv.CSVFileFormat")
.option("header","true")
.option("inferSchema","true")
.load("data.csv")
df.show()
相关.csv中的一行如下所示:
04.10.2016;12:51:00;1,1;0,41;0,416
Spark将整行解释为一列。 df.show()
打印:
+--------------------------------+
|Col1;Col2,Col3;Col4;Col5 |
+--------------------------------+
| 04.10.2016;12:51:...|
+--------------------------------+
之前尝试让它工作df.show()
甚至打印了更多行内容,现在它说'...'但最终在第三列的逗号处删除了行。
答案 0 :(得分:2)
你可以读作Test并分开;或者将自定义分隔符设置为CSV格式,如.option("delimiter",";")