簡體   English   中英

我們可以從pyspark shell外部運行pyspark-python腳本嗎?

[英]Can we run pyspark-python script from outside of pyspark shell?

我的pyspark腳本是m.py,其中包含

l = [1,2,3,4,7,5,6,7,8,9,0]
k = sc.parallelize(l)
type(k)

當我做火花提交m.py

   SPARK_MAJOR_VERSION is set to 2, using Spark2
   Traceback (most recent call last):
   File "/root/m.py", line 3, in <module>
   k = sc.parallelize(l)
   NameError: name 'sc' is not defined

有什么辦法可以在我被困的pyspark-shell之外運行腳本?

另外,當我啟動pyspark然后輸入:

import m

錯誤再次出現:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "m.py", line 3, in <module>
k = sc.parallelize(l)
NameError: name 'sc' is not defined

是的,可以,但是必須確保正確的PYTHONPATH初始化所有要使用的對象:

from pyspark import SparkContext

sc = SparkContext.getOrCreate()

在驅動程序中,請確保首先創建sparkContext變量。 如我所見,您直接使用了“ sc”,而沒有對其進行初始化。 然后,您可以運行程序:

from pyspark import SparkContext

sc = SparkContext.getOrCreate()

import m.py

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM