在 HDInsight 上的 Jupyter Notebook 中导入自己的模块

Import own modules in Jupyter notebook on HDInsight

我已经使用标准配置在 Microsoft Azure 上部署了 HDInsight 3.5 Spark (2.0) 集群(位置 = 美国东部,头节点 = D12 v2 (x2),工作节点 = D4 v2 (x4))。当集群为 运行 时,我连接到 Jupyter notebook 并尝试导入自己创建的模块。

import own_module

不幸的是,这不起作用,所以我尝试 1) 在 Jupyter Notebook 主页中上传 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 群集。

您可以使用 spark 上下文的 addPyFile 方法。首先将文件放入 Azure blob 存储,然后复制 public http/https 地址并将此 URL 用于 addPyFile 函数。该模块将可在驱动程序和所有执行程序上访问。