我需要将各种文件(不同类型)加载到spark数据框中。 Databricks是否支持所有这些文件格式?如果是,我在哪里可以获得每种文件格式支持的选项列表?
delimited
csv
parquet
avro
excel
json
由于
答案 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文件。