我有一个安装了 JupyterHub 的 docker 容器,在 AWS 集群上运行,如此处所述 https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-jupyterhub.html .它有 Python 3 内核、PySpark 3、PySpark、SparkR 和 Spark 内核,并且在容器内安装了 conda 和许多其他 python 包,但没有 spark。问题是,当我运行 pyspark 或 pyspark3 内核时,它连接到 spark,安装在主节点上(在 docker 容器之外),并且所有内部模块不再可用于此笔记本(尽管它们对 python 内核可见,但在这种情况下 Spark 不可见)。
所以问题是如何使安装在 docker 内的模块对 pyspark/pyspark3 笔记本可用和可见?我认为我缺少的设置中有一些东西。
我非常想在一个笔记本中使用 docker 内部安装的模块和外部安装的 spark 的方法。
到目前为止,我只能得到一个或另一个。
最佳答案
我刚刚在这里找到了一半的答案https://blog.chezo.uno/livy-jupyter-notebook-sparkmagic-powerful-easy-notebook-for-data-scientist-a8b72345ea2d在这里https://docs.microsoft.com/en-us/azure/hdinsight/spark/apache-spark-jupyter-notebook-kernels .秘诀是在单元格中使用 %%local 魔法,它可以让我们访问已安装的 Python 模块 本地 (在 docker 容器中)。现在我只是不知道如何保存在笔记本的“pyspark 部分”中创建的 pandas 数据框,因此它在“本地”部分中可用。
关于amazon-web-services - AWS JupyterHub pyspark notebook 使用 pandas 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52413038/