我有一个示例项目mypackg,其结构如下:
- mypackg
* appcode
* __init__.py
* file1.py
* file2.py
* dbutils
* __init__.py
* file3.py
* start_point.py
* __init__.py
包装在mypackg.zip
在本地系统测试上工作正常
sparkContext.addPyFile('path_to_zip')
添加到pyspark并运行我的工作spark-submit --py-files 'path_to_zip' myjob.py
但是,当我尝试在Databricks上执行相同操作时-我无法导入模块
import urllib
urllib.request.urlretrieve("https://github.com/nikhilsarma/spark_utilities/blob/master/mydata.zip", "/databricks/driver/mydata.zip")
sc = spark.sparkContext.getOrCreate() and
sc.addPyFile('/databricks/driver/mydata.zip')
sys.path.insert(0, r'/databricks/diver/mydata.zip')
sc = spark.sparkContext.getOrCreate()
sc.addPyFile(r'/databricks/driver/mydata.zip')
from mypackg import start_point
错误:
ModuleNotFoundError:没有名为“ mypackg”的模块
答案 0 :(得分:0)
这是我的uri中的一个错误。而不是从原始/母版下载,而是从blob /母版下载,这给了我一个我无法使用的文件。