什么是加载Excel文件的强制选项?

我使用下面的语法从S3加载了一个excel文件,但我想知道需要在这里设置的选项。

为什么必须设置下面所有的加载excel文件的选项? 这些选项都不是强制加载其他文件types,如csv,del,json,avro等

val data = sqlContext.read. format("com.crealytics.spark.excel"). option("location", s3path). option("useHeader", "true"). option("treatEmptyValuesAsNulls", "true"). option("inferSchema","true"). option("addColorColumns", "true"). load(path) 

如果上面的任何选项(除了位置)都没有设置,我会得到下面的错误:

 sqlContext.read.format("com.crealytics.spark.excel").option("location", s3path).load(s3path) 

错误信息 :

 Name: java.lang.IllegalArgumentException Message: Parameter "useHeader" is missing in options. StackTrace: at com.crealytics.spark.excel.DefaultSource.checkParameter(DefaultSource.scala:37) at com.crealytics.spark.excel.DefaultSource.createRelation(DefaultSource.scala:19) at com.crealytics.spark.excel.DefaultSource.createRelation(DefaultSource.scala:7) at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:345) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:149) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:132) at $anonfun$1.apply(<console>:47) at $anonfun$1.apply(<console>:47) at time(<console>:36) 

除了userSchemasheetName之外, spark-excel大部分选项都是必需的。

您可以随时在DataSource源代码中查看您可以在这里find的代码。

您必须记住,这个数据源或数据连接器包是在spark项目之外实现的,每个包都有自己的规则和参数。