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

从ADLS读取snappy.parquet文件报错:DataframReader对象不可调用

问题解决:"DataFrameReader" object is not callable 错误

错误原因分析

你的代码存在两个关键问题:

  1. 语法错误:format("delta"(input_file_path+'filename.snappy.parquet') 括号嵌套混乱,缺少闭合括号,且错误地将文件路径作为参数直接传给format()方法,不符合Spark DataFrameReader的API调用规范。
  2. 格式指定错误:你要读取的是snappy压缩的parquet文件,却指定了delta格式,与文件实际类型不匹配。

修正后的代码

方法1:直接使用parquet()方法(推荐)

input_file_path = "/mnt....../"
df = spark.read.parquet(input_file_path + 'filename.snappy.parquet')

df_count = df.count()
display(df_count)

方法2:使用format()链式调用load()

input_file_path = "/mnt....../"
df = spark.read.format("parquet").load(input_file_path + 'filename.snappy.parquet')

df_count = df.count()
display(df_count)

补充说明

  • Spark会自动识别parquet文件的snappy压缩格式,无需额外指定压缩类型。
  • 如果确实需要读取Delta Lake表,才需要使用format("delta"),但此时路径应指向Delta表的目录而非单个parquet文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 20:20:56