我在Microsoft Azure上使用标准配置部署了HDInsight 3.5 Spark(2.0)群集(Location = US East,Head Nodes = D12 v2(x2),Worker Nodes = D4 v2(x4))。当群集运行时,我连接到Jupyter笔记本,我尝试导入自己创建的模块。
import own_module
遗憾的是,这不起作用,所以我试图1)在Jupyter Notebook home中上传own_module.py,2)通过ssh连接将own_module.py添加到/ home / sshuser。然后我将/ home / sshuser添加到sys.path和PYTHONPATH:
sys.path.append('/home/sshuser')
os.environ['PYTHONPATH'] = os.environ['PYTHONPATH'] + ':/home/sshuser'
此操作也不起作用。错误仍然显示:
No module named own_module
Traceback (most recent call last):
ImportError: No module named own_module
有人可以告诉我如何导入自己的模块吗?最好将它们放入Azure blob存储中,然后将它们传输到HDInsight集群。
答案 0 :(得分:1)
您可以使用spark context' addPyFile方法。首先将文件放入Azure blob存储,然后复制公共http / https地址并将此URL用于addPyFile
函数。该模块可以在驱动程序和所有执行程序上访问。