【发布时间】:2018-03-13 18:06:08
【问题描述】:
我使用 Spark 2.2.0
我正在读取一个csv文件如下:
val dataFrame = spark.read.option("inferSchema", "true")
.option("header", true)
.option("dateFormat", "yyyyMMdd")
.csv(pathToCSVFile)
此文件中有一个日期列,所有记录的值都等于该特定列的20171001。
问题在于 spark 推断此列的类型是 integer 而不是 date。当我删除"inferSchema" 选项时,该列的类型是string。
此文件中没有null 值,也没有任何格式错误的行。
这个问题的原因/解决方案是什么?
【问题讨论】:
-
您可以尝试禁用 ("inferSchema", "true") 并提供自定义架构来读取 csv 文件
-
我可以,但我猜“dateFormat”选项是为了避免按照您的建议进行操作,对吧?
-
如果我记性还好的话,需要用双引号转义。
标签: apache-spark dataframe apache-spark-sql spark-csv