Loading excel using Guzzle - ja-guzzle/guzzle_docs GitHub Wiki
When there are column headers with date type, loading of excel fails with following exception
20/02/18 12:37:38 ERROR Uncaught throwable from user code: java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell
at shadeio.poi.xssf.usermodel.XSSFCell.typeMismatch(XSSFCell.java:1003)
at shadeio.poi.xssf.usermodel.XSSFCell.getRichStringCellValue(XSSFCell.java:389)
at shadeio.poi.xssf.usermodel.XSSFCell.getStringCellValue(XSSFCell.java:341)
at com.crealytics.spark.excel.ExcelRelation$$anonfun$7.com$crealytics$spark$excel$ExcelRelation$$anonfun$$colName$1(ExcelRelation.scala:119)
at com.crealytics.spark.excel.ExcelRelation$$anonfun$7$$anonfun$12.apply(ExcelRelation.scala:122)
at com.crealytics.spark.excel.ExcelRelation$$anonfun$7$$anonfun$12.apply(ExcelRelation.scala:122)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.Iterator$class.foreach(Iterator.scala:891)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
at scala.collection.AbstractTraversable.map(Traversable.scala:104)
at com.crealytics.spark.excel.ExcelRelation$$anonfun$7.apply(ExcelRelation.scala:122)
at com.crealytics.spark.excel.ExcelRelation$$anonfun$7.apply(ExcelRelation.scala:105)
at scala.Option.getOrElse(Option.scala:121)
at com.crealytics.spark.excel.ExcelRelation.headerColumns$lzycompute(ExcelRelation.scala:105)
at com.crealytics.spark.excel.ExcelRelation.headerColumns(ExcelRelation.scala:104)
at com.crealytics.spark.excel.ExcelRelation$$anonfun$inferSchema$1.apply(ExcelRelation.scala:162)
at com.crealytics.spark.excel.ExcelRelation$$anonfun$inferSchema$1.apply(ExcelRelation.scala:161)
at scala.Option.getOrElse(Option.scala:121)
at com.crealytics.spark.excel.ExcelRelation.inferSchema(ExcelRelation.scala:161)
at com.crealytics.spark.excel.ExcelRelation.<init>(ExcelRelation.scala:35)
at com.crealytics.spark.excel.DefaultSource.createRelation(DefaultSource.scala:40)
at com.crealytics.spark.excel.DefaultSource.createRelation(DefaultSource.scala:18)
at com.crealytics.spark.excel.DefaultSource.createRelation(DefaultSource.scala:12)
at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:347)
at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:307)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:293)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:214)
at com.justanalytics.guzzle.ingestion.source.ExcelFileReader$$anonfun$16.apply(ExcelFileReader.scala:49)
at com.justanalytics.guzzle.ingestion.source.ExcelFileReader$$anonfun$16.apply(ExcelFileReader.scala:47)
at scala.collection.immutable.List.map(List.scala:284)
at com.justanalytics.guzzle.ingestion.source.ExcelFileReader$.read(ExcelFileReader.scala:47)
at com.justanalytics.guzzle.ingestion.source.SourceReader$.read(SourceReader.scala:22)
at com.justanalytics.guzzle.ingestion.Main$.main(Main.scala:160)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read$$iw$$iw$$iw$$iw$$iw$$iw.<init>(command--1:1)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read$$iw$$iw$$iw$$iw$$iw.<init>(command--1:44)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read$$iw$$iw$$iw$$iw.<init>(command--1:46)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read$$iw$$iw$$iw.<init>(command--1:48)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read$$iw$$iw.<init>(command--1:50)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read$$iw.<init>(command--1:52)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read.<init>(command--1:54)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read$.<init>(command--1:58)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$read$.<clinit>(command--1)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$eval$.$print$lzycompute(<notebook>:7)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$eval$.$print(<notebook>:6)
at line4b53bc9375704e2bb0cc1f17b8d0267b25.$eval.$print(<notebook>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:793)
at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:1054)
at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:645)
at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:644)
at scala.reflect.internal.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:31)
at scala.reflect.internal.util.AbstractFileClassLoader.asContext(AbstractFileClassLoader.scala:19)
at scala.tools.nsc.interpreter.IMain$WrappedRequest.loadAndRunReq(IMain.scala:644)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:576)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:572)
at com.databricks.backend.daemon.driver.DriverILoop.execute(DriverILoop.scala:215)
at com.databricks.backend.daemon.driver.ScalaDriverLocal$$anonfun$repl$1.apply$mcV$sp(ScalaDriverLocal.scala:197)
at com.databricks.backend.daemon.driver.ScalaDriverLocal$$anonfun$repl$1.apply(ScalaDriverLocal.scala:197)
at com.databricks.backend.daemon.driver.ScalaDriverLocal$$anonfun$repl$1.apply(ScalaDriverLocal.scala:197)
at com.databricks.backend.daemon.driver.DriverLocal$TrapExitInternal$.trapExit(DriverLocal.scala:700)
at com.databricks.backend.daemon.driver.DriverLocal$TrapExit$.apply(DriverLocal.scala:653)
at com.databricks.backend.daemon.driver.ScalaDriverLocal.repl(ScalaDriverLocal.scala:197)
at com.databricks.backend.daemon.driver.DriverLocal$$anonfun$execute$9.apply(DriverLocal.scala:386)
at com.databricks.backend.daemon.driver.DriverLocal$$anonfun$execute$9.apply(DriverLocal.scala:363)
at com.databricks.logging.UsageLogging$$anonfun$withAttributionContext$1.apply(UsageLogging.scala:235)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)
at com.databricks.logging.UsageLogging$class.withAttributionContext(UsageLogging.scala:230)
at com.databricks.backend.daemon.driver.DriverLocal.withAttributionContext(DriverLocal.scala:49)
at com.databricks.logging.UsageLogging$class.withAttributionTags(UsageLogging.scala:272)
at com.databricks.backend.daemon.driver.DriverLocal.withAttributionTags(DriverLocal.scala:49)
at com.databricks.backend.daemon.driver.DriverLocal.execute(DriverLocal.scala:363)
at com.databricks.backend.daemon.driver.DriverWrapper$$anonfun$tryExecutingCommand$2.apply(DriverWrapper.scala:644)
at com.databricks.backend.daemon.driver.DriverWrapper$$anonfun$tryExecutingCommand$2.apply(DriverWrapper.scala:644)
at scala.util.Try$.apply(Try.scala:192)
at com.databricks.backend.daemon.driver.DriverWrapper.tryExecutingCommand(DriverWrapper.scala:639)
at com.databricks.backend.daemon.driver.DriverWrapper.getCommandOutputAndError(DriverWrapper.scala:485)
at com.databricks.backend.daemon.driver.DriverWrapper.executeCommand(DriverWrapper.scala:597)
at com.databricks.backend.daemon.driver.DriverWrapper.runInnerLoop(DriverWrapper.scala:390)
at com.databricks.backend.daemon.driver.DriverWrapper.runInner(DriverWrapper.scala:337)
at com.databricks.backend.daemon.driver.DriverWrapper.run(DriverWrapper.scala:219)
at java.lang.Thread.run(Thread.java:748)
In such scenarios - set contains headers to false in source and specify column mapping manually