Pyspark 未定义名称sc

Pyspark 未定义名称sc,pyspark,Pyspark,我只是试图在pyspark shell中执行sc.version,但是得到一个错误,因为sc未定义 >>> sc.version() Traceback (most recent call last): File "<stdin>", line 1, in <module> 我甚至没有得到sc.version()的输出。有什么问题吗?有几件事: 在pyspark shell中,您自动只能访问spark会话(可通过“spark”引

我只是试图在pyspark shell中执行
sc.version
,但是得到一个错误,因为
sc
未定义

>>> sc.version()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
我甚至没有得到sc.version()的输出。有什么问题吗?

有几件事:

  • 在pyspark shell中,您自动只能访问spark会话(可通过“spark”引用)
  • 要获取sparkcontext,您可以通过
    sc=spark.sparkcontext
    从spark会话获取它。或者使用@Smurphy0000在注释中提到的
    getOrCreate()
    方法
  • 版本是spark上下文的一个属性。要从sparkcontext获取版本(
    sc
    ,在本例中),
    version=sc.version
    。版本也可以直接从会话中提取,如
    Version=spark.Version

  • sc=SparkContext.getOrCreate()
    >>>版本=spark.version回溯(最近一次调用):文件“”,第1行,在名称中错误:名称“spark”未定义>>>版本=sc.version回溯(最近一次调用):文件“”,第1行,在名称中错误:名称“sc”未定义>>>sc=spark.SparkContext回溯(最近一次调用):文件“”,第1行,在NameError中:未定义名称“spark”,这些命令不成功启动pyspark shell时是否发布启动消息?最后几行应该是这样的:\n使用Python版本3.8.2(默认值,2020年7月16日14:00:26)SparkSession作为“spark”提供。另外,您是否将sc作为
    sc=spark.sparkContext
    进行了意大利化?
    >>> SparkContext.getOrCreate()
    <pyspark.context.SparkContext object at 0x7f206aa8cfd0>