【发布时间】:2021-12-31 08:27:42
【问题描述】:
我正在尝试从“excel”文件中读取 Spark DataFrame。我使用了 crealytics 依赖项。
在没有任何预定义架构的情况下,所有行都可以正确读取,但仅作为字符串类型的列。
为了防止这种情况,我使用了我自己的架构(我提到某些列是整数类型),但在这种情况下,当读取文件时,大部分 行都会被删除。
build.sbt 中使用的库依赖:
"com.crealytics" %% "spark-excel" % "0.11.1",
Scala version - 2.11.8
Spark version - 2.3.2
val inputDF = sparkSession.read.excel(useHeader = true).load(inputLocation(0))
上面读取所有数据 - 大约 25000 行。
但是,
val inputWithSchemaDF: DataFrame = sparkSession.read
.format("com.crealytics.spark.excel")
.option("useHeader" , "false")
.option("inferSchema", "false")
.option("addColorColumns", "true")
.option("treatEmptyValuesAsNulls" , "false")
.option("keepUndefinedRows", "true")
.option("maxRowsInMey", 2000)
.schema(templateSchema)
.load(inputLocation)
这给了我 450 行。 有没有办法防止这种情况?提前致谢! (已编辑)
【问题讨论】:
标签: excel scala apache-spark apache-spark-sql schema