首页 > 解决方案 > EMR 6.1.0 上的默认 Python3 内核不在我的集群上?

问题描述

在使用 EMR 6.1.0 与 Hadoop、Spark 和 Livy 连接到集群时,我注意到一些奇怪的事情。

你看,我在我的主节点上安装的包在默认的 Python3 内核中不可用,但它们在默认的 PySpark 内核上可用。

当我在 PySpark 内核上获得主机名时,我可以看到它与我的主节点的私有 dns 名称匹配。然而,当我运行 Python3 或终端内核时,我得到一个不同的主机名,它与我集群上的任何节点都不匹配。

当我使用 Python3 内核时,Python3 代码从哪里运行?当我选择终端内核时,我使用的是什么 EC2 机器终端?我已经检查过,我的主机上也没有运行 docker 容器

是否可以使用我主人的 Python3 作为内核而不是那些?

标签: amazon-web-servicesjupyter-notebookamazon-emr

解决方案


您可以尝试 EMR 版本 5.32+ 或 6.2+ 以获得 Python 和 Pyspark 内核之间的一致体验。不同之处在于,从这些版本开始,EMR 开始使用 Jupyter Enterprise Gateway 直接在集群上运行内核。在这些版本之前,内核不是在集群上运行,而是在笔记本实例上运行,对于 pyspark 内核,它使用 Livy 在集群上远程提交 Spark 作业。


推荐阅读