[英]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.