繁体   English   中英

使用Spark读取欧洲格式的.csv数据

[英]Read .csv data in european format with Spark

我目前正在使用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()甚至在其现在显示“ ...”的位置打印更多的行内容,但最终在第三列的逗号处减少了行数。

您可以将其读为Test并除以; 或像.option("delimiter",";")那样将自定义分隔符设置为CSV格式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM