Похоже, что ярлык не может быть добавлен в метод пути через опцию. Поэтому я создал обходной путь, как показано ниже (при условии, что каждый файл Excel имеет одинаковое количество столбцов). Создал метод для получения всех путей каждого файла в исходном каталоге и провел цикл по этим путям файлов, создав новый фрейм данных и добавив предыдущий.
import java.io.File
import org.apache.spark.sql.Row
import org.apache.spark.sql.types._
def getListOfFiles(dir : String) : List[File] = {
val d = new File(dir)
if (d.exists && d.isDirectory){
d.listFiles().filter(_.isFile).toList
} else {
List[File]()
}
}
val path = " \\directory path"
// shows list of files with fully qualified paths
println(getListOfFiles(path))
val schema = StructType(
StructField("id", IntegerType, true) ::
StructField("name", StringType, false) ::
StructField("age", IntegerType, false) :: Nil)
// Created Empty dataframe with as many columns as in each excel
var data = spark.createDataFrame(spark.sparkContext.emptyRDD[Row], schema)
for(filePath <- getListOfFiles(path)){
var tempDF = spark.read.format("com.crealytics.spark.excel")
.option("location", s"$filePath")
.option("useHeader", "true")
.option("treatEmptyValuesAsNulls", "true")
.option("inferSchema", "true")
.option("addColorColumns", "False")
.load()
data = data.union(tempDF)
}
data.show()