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

时间:2017-06-01 06:54:24

标签: apache-spark apache-spark-sql databricks

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

delimited
csv
parquet
avro
excel
json

由于

2 个答案:

答案 0 :(得分:0)

我不确切知道Databricks提供的开箱即用(预安装),但您可以使用org.apache.spark.sql.execution.datasources.DataSource对象进行一些逆向工程(引用) scaladoc):

  

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

所有数据源通常使用DataSourceRegister接口注册自己(并使用Control.InputBindings提供别名):

  

数据源应该实现此特征,以便他们可以为其数据源注册别名。

沿着Control.InputBindings的scaladoc阅读你会发现:

  

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

所以,YMMV

除非您在Databricks上找到权威答案,否则您可能希望(遵循DataSource.lookupDataSource并使用Java的ServiceLoader.load方法查找shortName接口的所有已注册实现。

DataSourceRegister
  

我在哪里可以获得每种文件格式支持的选项列表?

这是不可能的,因为有没有 API(如在Spark MLlib中)来定义选项。每种格式都是独立完成的...不幸的是,您最好的选择是阅读文档或(更具权威性)源代码。

答案 1 :(得分:-1)

Spark支持所有这些格式,对于可以使用spark-excel库的Excel文件。