我正在尝试读取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文件是否存在任何问题,或者我在代码中添加了一些额外的选项?
如果需要更多信息,请发表评论。