Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法从运行在Google云平台dataproc集群上的Jupyter笔记本中保存的.py文件导入和运行函数?_Python_Google Cloud Platform_Jupyter Notebook_Cluster Computing_Google Cloud Dataproc - Fatal编程技术网

Python 有没有办法从运行在Google云平台dataproc集群上的Jupyter笔记本中保存的.py文件导入和运行函数?

Python 有没有办法从运行在Google云平台dataproc集群上的Jupyter笔记本中保存的.py文件导入和运行函数?,python,google-cloud-platform,jupyter-notebook,cluster-computing,google-cloud-dataproc,Python,Google Cloud Platform,Jupyter Notebook,Cluster Computing,Google Cloud Dataproc,本机运行Jupyter notebook时,从保存的.py脚本导入函数和实用程序非常简单 当我在运行在谷歌云平台dataproc集群上的Jupyter笔记本上工作时,尝试同样的事情-(在将.py脚本上传到我的dataproc Jupyter笔记本后-因此它在云中***),我无法将该函数导入(dataproc)笔记本 有人知道我怎么做吗?这仅仅是为了找出正确的,但不是显而易见的路径吗?(我正试图从与Jupyter笔记本相同的文件夹中导入一个.py文件,因此如果该文件以本机方式运行,则不需要路径,但

本机运行Jupyter notebook时,从保存的.py脚本导入函数和实用程序非常简单

当我在运行在谷歌云平台dataproc集群上的Jupyter笔记本上工作时,尝试同样的事情-(在将.py脚本上传到我的dataproc Jupyter笔记本后-因此它在云中***),我无法将该函数导入(dataproc)笔记本

有人知道我怎么做吗?这仅仅是为了找出正确的,但不是显而易见的路径吗?(我正试图从与Jupyter笔记本相同的文件夹中导入一个.py文件,因此如果该文件以本机方式运行,则不需要路径,但可能与dataproc不同

***我没有犯尝试将desktop/native.py脚本导入GC dataproc笔记本的错误


非常感谢任何帮助或线索!

不幸的是,这不受支持。但您可以下载
.py
文件,然后导入,作为一种解决方法-详细信息可在类似问题的答案中找到:
.

很遗憾,这不受支持。但您可以下载
.py
文件,然后导入,作为一种解决方法-详细信息可在类似问题的答案中找到:
.

如果您使用的是PySpark内核,则可以向sparkContext添加依赖项

spark.sparkContext.addPyFile(f'gs://{your_bucket}/{path_to_file}/dependencies.zip')
您的dependencies.zip将包含一个包含所有.py脚本和
\uuuu init\uuuu.py
的文件夹:

dependencies/
├── __init__.py
└── my_script.py 
然后,您可以使用导入所有依赖项

import dependencies
from dependencies.my_script import my_class
或者使用

import dependencies
from dependencies.my_script import my_class

PS:对dependencies.zip的任何更改都不会反映在导入中,您必须重新启动PySpark内核才能使用更新的脚本。

如果您使用的是PySpark内核,您可以将依赖项添加到sparkContext

spark.sparkContext.addPyFile(f'gs://{your_bucket}/{path_to_file}/dependencies.zip')
您的dependencies.zip将包含一个包含所有.py脚本和
\uuuu init\uuuu.py
的文件夹:

dependencies/
├── __init__.py
└── my_script.py 
然后,您可以使用导入所有依赖项

import dependencies
from dependencies.my_script import my_class
或者使用

import dependencies
from dependencies.my_script import my_class

PS:dependencies.zip的任何更改都不会反映在您的导入中,您必须重新启动PySpark内核才能使用更新的脚本。

这非常有帮助,谢谢!后续问题是:如果我要导入的函数使用PySpark,有没有资源来说明如何实现这一点?我得到了示例,然后我当我意识到在函数中使用spark会有问题时,我提出了一个问题。我一直得到“spark未定义”。我猜这与导入一个.py文件并在该文件中使用一个函数有关,该函数用于pyspark内核,您可以在其中导入pyspark。这非常有帮助,谢谢!接下来的问题是:如果我要导入的函数使用pyspark,有没有资源可以帮助实现这一点?我得到了一个示例rk,然后当我意识到在函数中使用spark会有问题时,我提出了一个问题。我一直得到“spark未定义”。我猜这与导入一个.py文件和在该文件中使用一个用于pyspark内核的函数有关,在该文件中,您可以导入pyspark。