Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pyspark 如何解决TypeError:';SparkContext';对象不可调用错误?_Pyspark - Fatal编程技术网

Pyspark 如何解决TypeError:';SparkContext';对象不可调用错误?

Pyspark 如何解决TypeError:';SparkContext';对象不可调用错误?,pyspark,Pyspark,我的代码是: import pyspark from pyspark.sql import SparkSession from pyspark.conf import SparkConf from pyspark import SparkContext spark = SparkSession.builder \ .master("local") \ .appName("pyspark_uygulama") \ .getOrCre

我的代码是:

import pyspark
from pyspark.sql import SparkSession
from pyspark.conf import SparkConf
from pyspark import SparkContext

spark = SparkSession.builder \
    .master("local") \
    .appName("pyspark_uygulama") \
    .getOrCreate()

sc = spark.sparkContext()
sc
我得到了这个错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-2fb21ed9bfcc> in <module>
      9     .getOrCreate()
     10 
---> 11 sc = spark.sparkContext()
     12 sc

TypeError: 'SparkContext' object is not callable
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
9.getOrCreate()
10
--->11 sc=spark.sparkContext()
12 sc
TypeError:“SparkContext”对象不可调用

首先,我将
spark.SparkContext()
更改为
spark.SparkContext()
它不工作(它解决了另一个问题)。我将java开发工具包更新为最新版本。它也没有解决这个错误。有什么建议吗?

错误消息是正确的,spark.sparkContext肯定不能调用,请查看此处的文档(不熟悉pyspark,我将解释如何将spark与scala一起使用)

val sparkContext:sparkContext
与此Spark会话关联的Spark上下文\

根据文档,spark.sparkContext不接受任何参数

实际上有两个SparkContext:一个在org.apache.spark中,另一个在org.apache.spark.sql.SparkSession中

为方便用户,spark.sparkContext提供了一种无需实例化即可访问sparkContext的方法,但其功能有限。人们必须自己实例化org.apache.spark.SparkContext才能获得完整的功能

如果您确实需要功能齐全的sparkContext对象,我建议您自己实例化sparkContext, 如果您想访问SparkContext的方法,如parallelize、textFile等,可以不调用SparkContext

sc = spark.sparkContext
sc.parallelize(...) 
sc.textFile(...)
org.apache.spark内部SparkContext的构造函数参数(在pyspark中,我想应该是pyspark.SparkContext)可以通过SparkSession.builder().master().appName(…).config(…)设置,所以实际上不需要调用spark.SparkContext


希望这有助于并原谅我的表达。

因此,在我的例子中,我可以删除spark.sparkContext中的“()”,因为它不接受任何参数。我试过了,成功了!谢谢你的表情。我抓到你了