使用scala和spark-sql读取Excel文件(* .xlsx)

时间:2018-07-02 12:59:45

标签: excel scala apache-spark

我正在尝试读取HDFS中的Excel文件。我正在使用https://mvnrepository.com/artifact/com.crealytics/spark-excel_2.11/0.8.3处提供的Spark Excel jar。

我编写的用于阅读excel的代码是

val df = spark.read.format("com.crealytics.spark.excel").option("location","hdfs/path/to/excel/file/filename.xlsx").
option("useHeader","true").option("sheetName", "Mapping").option("treatEmptyValuesAsNulls", "true").option("inferSchema", "true").option("addColorColumns", "False").load()

但是我遇到了错误

Caused by: java.util.NoSuchElementException: key not found: 2
  at scala.collection.MapLike$class.default(MapLike.scala:228)
  at scala.collection.AbstractMap.default(Map.scala:59)
  at scala.collection.MapLike$class.apply(MapLike.scala:141)
  at scala.collection.AbstractMap.apply(Map.scala:59)

excel文件包含约10张纸。但是我只需要阅读名为“ Mapping”的表。使用VLOOKUP,映射表与其他表相关。 同一段代码可用于其他简单的excel文件(不带vlookup),但不适用于该特定excel。

有人可以帮助我了解问题所在吗? excel文件是否存在任何问题,或者我在代码中添加了一些额外的选项?

如果需要更多信息,请发表评论。

0 个答案:

没有答案