Apache spark 如何知道Databricks支持的文件格式?

Apache spark 如何知道Databricks支持的文件格式?,apache-spark,apache-spark-sql,databricks,Apache Spark,Apache Spark Sql,Databricks,我需要将不同类型的文件加载到spark数据帧中。 Databricks支持所有这些文件格式吗?如果是,在哪里可以获得每个文件格式支持的选项列表 delimited csv parquet avro excel json 感谢Spark支持所有这些格式,对于Excel文件,您可以使用库。我不知道Databricks提供了什么现成的预装版,但您可以使用引用scaladoc的对象进行反向工程: 负责在Spark SQL中表示可插入数据源的主类 所有数据源通常使用接口注册自己,并使用shortName

我需要将不同类型的文件加载到spark数据帧中。 Databricks支持所有这些文件格式吗?如果是,在哪里可以获得每个文件格式支持的选项列表

delimited
csv
parquet
avro
excel
json

感谢Spark支持所有这些格式,对于Excel文件,您可以使用库。

我不知道Databricks提供了什么现成的预装版,但您可以使用引用scaladoc的对象进行反向工程:

负责在Spark SQL中表示可插入数据源的主类

所有数据源通常使用接口注册自己,并使用shortName提供别名:

数据源应实现此特性,以便可以向其数据源注册别名

阅读DataSourceRegister的scaladoc,您会发现:

这允许用户将数据源别名作为格式类型指定给完全限定的类名

所以

除非您在Databricks上找到权威的答案,否则您可能希望遵循并使用Java的方法来查找DataSourceRegister接口的所有注册实现

// start a Spark application with external module with a separate DataSource
$ ./bin/spark-shell --packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.3.0-SNAPSHOT

import java.util.ServiceLoader
import org.apache.spark.sql.sources.DataSourceRegister

val formats = ServiceLoader.load(classOf[DataSourceRegister])

import scala.collection.JavaConverters._
scala> formats.asScala.map(_.shortName).foreach(println)
orc
hive
libsvm
csv
jdbc
json
parquet
text
console
socket
kafka
在哪里可以获得每种文件格式支持的选项列表

delimited
csv
parquet
avro
excel
json

这是不可能的,因为没有像Spark MLlib那样的API来定义选项。每种格式都有自己的功能…不幸的是,您最好的选择是阅读文档或更权威的源代码。

avro?不这样认为。我从DataBricks中看到了,但没有使用DataBricks工具中提供的这个?