我正在尝试将pyspark
笔记本中的jupyter
代码迁移到python脚本。但是,当我尝试使用
from pyspark.sql import SparkSession
我遇到了一个错误No module named 'pyspark'
我试图找到系统中的所有python3
和python2
,将它们作为shell运行,并尝试在每个shell中导入pyspark
。但是,我在每个外壳中都有相同的No module named 'pyspark'
当我尝试使用import findspark
/ python3
python2
时,我得到了No module named 'findspark'
echo $PYTHONPATH
和echo $SPARK_HOME
返回空字符串我尝试查找所有spark-submit
并使用它们而不是python3
运行脚本。但是,使用argparse
时出现错误
File "/export/home/osvechkarenko/brdmp_10947/automation_001/py_dynamic_report.py", line 206
if args.print:
^
SyntaxError: invalid syntax
当我将脚本与python3一起使用时(没有pyspark
),它运行良好。
答案 0 :(得分:1)
首先,通过以下方式确保jupyter和shell的python解释器相同:
import sys
print(sys.executable)
如果是这种情况,您的jupyter内核还会在启动时将pyspark添加到python路径。正如@Sraw指出的那样,您可以在工作环境中通过pyspark.__file__
找到pyspark。
这是一个简短的bash脚本,说明如何在Ubuntu 16.10下将pyspark手动添加到现有的jupyter内核:link