Spark Sql:从Excel工作表加载文件(扩展名为.xlsx)无法正确推断datetypes列的模式

我有一个xlsx文件包含date/时间(我的时间)在以下格式和示例logging –

5/16/2017 12:19:00 AM 5/16/2017 12:56:00 AM 5/16/2017 1:17:00 PM 5/16/2017 5:26:00 PM 5/16/2017 6:26:00 PM 

我正在以下面的方式读取xlsx文件:

 val inputDF = spark.sqlContext.read.format("com.crealytics.spark.excel") .option("location","file:///C:/Users/file.xlsx") .option("useHeader","true") .option("treatEmptyValuesAsNulls","true") .option("inferSchema","true") .option("addColorColumns","false") .load() 

当我尝试使用以下模式获取模式时: –

 inputDF.printSchema() 

,我得到双。 有时,即使我得到的模式为string。 而当我打印的数据,我得到的输出为: –

 ------------------ My Time ------------------ 42871.014189814814 42871.03973379629 42871.553773148145 42871.72765046296 42871.76887731482 ------------------ 

以上输出对于给定的input显然是不正确的。

而且,如果我以csv格式转换xlsx文件并读取它,我会得到正确的输出。 这是我如何阅读CSV格式的方式: –

 spark.sqlContext.read.format("csv") .option("header", "true") .option("inferSchema", true) .load("file:///C:/Users/file.xlsx") 

所以,在这方面的任何帮助,如何推断任何typesdate列的正确模式。

注意: – Spark版本是2.0.0使用的语言是Scala