You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程获取Apache Spark支持的读写数据源格式列表?

获取Apache Spark支持的数据源格式列表(编程方式)

Spark没有提供像spark.sql.utils.getFormats()这样直接的API,但可以通过访问底层的数据源注册表,获取所有支持的格式字符串(也就是spark.read.format()和spark.write.format()中可用的参数)。

可行的编程实现(Python)

# 从SparkSession底层获取已注册的所有数据源格式
data_source_names = spark._jsparkSession.sessionState().catalog().listDataSourceNames()
supported_formats = [str(name) for name in data_source_names]
print(supported_formats)

执行后会输出类似这样的列表:

['parquet', 'csv', 'json', 'orc', 'jdbc', 'text', 'delta']

说明

  • 这个列表包含Spark原生支持的格式,以及所有已加载的第三方数据源格式(比如Delta Lake、Iceberg,前提是对应的依赖包已添加到Spark环境)。
  • 原生支持的格式基本都同时兼容读和写操作,第三方格式需根据其实现判断是否支持读写。

Spark原生支持的核心格式(翻译自官方文档)

Spark官方默认支持的数据源格式分为以下几类:

  • 列式存储:Parquet、ORC
  • 文本类:CSV、JSON、纯文本(Text)
  • 数据库交互:JDBC/ODBC
  • 扩展格式(需额外依赖):Avro、图片(Image)、二进制文件(Binary File)

配置校验场景的用法

把通过代码获取的supported_formats作为合法值集合,就能校验配置文件中指定的数据源格式是否合法,避免拼写错误或使用未加载的格式。

内容的提问来源于stack exchange,提问作者kakripr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:25:25