Que*_*XDD 4 python docker pyspark
我在我的机器内安装了gettyimages/spark dockerimage 和。jupyter/pyspark-notebook
但是由于gettyimage/sparkpython 版本为 ,3.5.3而jupyter/pyspark-notebookpython 版本为3.7,会出现以下错误:
例外:worker 中的 Python 版本 3.5 与驱动程序 3.7 中的版本不同,PySpark 无法使用不同的次要版本运行。请检查环境变量 PYSPARK_PYTHON 和 PYSPARK_DRIVER_PYTHON 是否设置正确。
因此,我尝试升级gettyimage/spark镜像的 python 版本或降级 docker 镜像的 python 版本jupyter/pyspark-notebook来修复它。
jupyter/pyspark-notebook先降级python版本:我用来conda install python=3.5降级docker镜像的python版本  jupyter/pyspark-notebook。然而,在我这样做之后,我的jupyter笔记本无法连接到任何单机ipynb,并且内核似乎已死。另外,当我conda再次输入时,它显示了我conda command not found,但是 python 终端运行良好
我比较了降级之前和之后的 sys.path
['','/usr/local/spark/python','/usr/local/spark/python/lib/py4j-0.10.7-src.zip','/opt/conda/lib/python35.zip' , '/opt/conda/lib/python3.5', '/opt/conda/lib/python3.5/plat-linux', '/opt/conda/lib/python3.5/lib-dynload', '/ opt/conda/lib/python3.5/site-packages']
['','/usr/local/spark/python','/usr/local/spark/python/lib/py4j-0.10.7-src.zip','/opt/conda/lib/python37.zip' ,'/opt/conda/lib/python3.7','/opt/conda/lib/python3.7/lib-dynload','/opt/conda/lib/python3.7/site-packages']
我认为或多或少是正确的。那么为什么我无法使用我的jupyter笔记本电脑连接到狗舍呢?
gettyimage/spark图像sudo docker run -it gettyimages/spark:2.4.1-hadoop-3.0 apt-get install python3.7.3 ; python3-v
然而,我发现即使我这样做,我也无法很好地运行火花。
我不太确定该怎么办。可以分享一下如何修改docker images内部包版本吗
如果我查看此处的Dockerfile ,它会python3默认安装 python 3.5 debian:stretch。您可以通过编辑 Dockerfile 并自行构建来安装 python 3.7。在 Dockerfile 中,删除第 19-25 行并将第 1 行替换为以下内容,然后在本地构建映像。
FROM python:3.7-stretch
如果您不熟悉构建自己的映像,请下载Dockerfile并将其保存在自己的独立目录中。然后cd进入目录后,运行以下命令。您可能需要首先删除已下载的图像。之后,您应该能够以与从 docker hub 提取映像相同的方式运行其他 docker 命令。
docker build -t gettyimages/spark .
| 归档时间: | 
 | 
| 查看次数: | 22060 次 | 
| 最近记录: |