如何在docker上的juypter上的Pypark上启动graphframes?

t3irkdon  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(532)

一整天都在juypter上玩Pypark,没有任何问题。只需使用docker图像 juypter/pyspark-notebook ,我需要的东西90%都打包好了(耶!)
我想使用graphframes开始探索,graphframes位于graphx之上,graphx位于spark之上。有人用过这个组合吗?
基本上,根据文档,我只需要传递“--gr包aphframes:xxyyzz运行pyspark下载并运行graphframes时。问题是一旦容器出现,juypter就已经在运行了。
在运行docker run时,我尝试将“-packages”行作为环境变量(-e)传递给juypter\u spark\u opts和spark\u opts,但没有成功。我发现我能做到 pip install graphframes 从一个终端,这让我有了一部分的方法——安装了python库,但是java库不是“java.lang.classnotfoundexception:org.graphframes.graphframepythonapi”。
映像细节文档似乎没有提供有关如何将spark包部署到映像的任何细节。
有什么地方可以扔葡萄架吗?有安装spark包post docker的命令吗?有没有一个神奇的论点 docker run 会安装这个吗?
我敢打赌这有一个非常简单的答案——或者我是在这里?
参考文献:
没有名为graphframes jupyter笔记本的模块
如何使用jupyter笔记本运行pyspark?

7xzttuei

7xzttuei1#

所以答案很简单:
根据这里的要点,我们需要简单地告诉juypter添加 --packages 连接到 SPARK_SUBMIT 把这样的东西放在我的笔记本上。spark在获取上下文时将退出并安装包:

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages graphframes:graphframes:0.8.1-spark3.0-s_2.12 pyspark-shell'

关注graphframes包中的可用版本,就目前而言,它意味着scala2.12上spark3.0上的graphframes0.8.1。

相关问题