在Spark中,当CSV文件以dataframe的形式被读取时,所有的列都会被读取为字符串。是否有办法获取列的实际类型?
我有以下的CSV文件。
Name,Department,years_of_experience,DOB
Sam,Software,5,1990-10-10
Alex,Data Analytics,3,1992-10-10
我已使用以下代码读取CSV文件
val df = sqlContext.
read.
format("com.databricks.spark.csv").
option("header", "true").
option("inferSchema", "true").
load(sampleAdDataS3Location)
df.schema
所有列都被读取为字符串。我期望 years_of_experience 列被读取为 int 类型,DOB 列被读取为 date 类型。
请注意,我已将选项 inferSchema 设置为 true。
我正在使用最新版本(1.0.3)的 spark-csv 包。
这里有什么我忽略的吗?