TypeError:“DataFrameReader”对象不可调用

Posted

技术标签:

【中文标题】TypeError:“DataFrameReader”对象不可调用【英文标题】:TypeError: 'DataFrameReader' object is not callable 【发布时间】:2017-11-27 13:24:47 【问题描述】:

我正在使用 PySpark 读取 csv 文件。 下面是我的简单代码。

from pyspark.sql.session import SparkSession

def predict_metrics():
    session = SparkSession.builder.master('local').appName("PredictFacebookMetrics").getOrCreate()
    dataframe = session.read().format('com.databricks.spark.csv') \
        .option('header', True) \
        .option('delimiter', ';') \
        .option('inferSchema', True) \
        .load(r'D:\M\Facebook_metrics_data\dataset_Facebook.csv')
    dataframe.printSchema()
    dataframe.show(False)

if __name__=='__main__':
    predict_metrics()

执行上述代码时,出现以下错误:

TypeError: 'DataFrameReader' object is not callable

这个错误的解决方法是什么?

【问题讨论】:

session.read.format.... 而不是session.read().format.. :) 是的,做到了。谢谢! 【参考方案1】:

正如评论中所建议的, 应该是session.read.format 而不是session.read().format

愚蠢的我!

【讨论】:

以上是关于TypeError:“DataFrameReader”对象不可调用的主要内容,如果未能解决你的问题,请参考以下文章