amazon-web-services - EMR 6.1.0 上的默认 Python3 内核不在我的集群上?
问题描述
在使用 EMR 6.1.0 与 Hadoop、Spark 和 Livy 连接到集群时,我注意到一些奇怪的事情。
你看,我在我的主节点上安装的包在默认的 Python3 内核中不可用,但它们在默认的 PySpark 内核上可用。
当我在 PySpark 内核上获得主机名时,我可以看到它与我的主节点的私有 dns 名称匹配。然而,当我运行 Python3 或终端内核时,我得到一个不同的主机名,它与我集群上的任何节点都不匹配。
当我使用 Python3 内核时,Python3 代码从哪里运行?当我选择终端内核时,我使用的是什么 EC2 机器终端?我已经检查过,我的主机上也没有运行 docker 容器
是否可以使用我主人的 Python3 作为内核而不是那些?
解决方案
您可以尝试 EMR 版本 5.32+ 或 6.2+ 以获得 Python 和 Pyspark 内核之间的一致体验。不同之处在于,从这些版本开始,EMR 开始使用 Jupyter Enterprise Gateway 直接在集群上运行内核。在这些版本之前,内核不是在集群上运行,而是在笔记本实例上运行,对于 pyspark 内核,它使用 Livy 在集群上远程提交 Spark 作业。
推荐阅读
- mysql - MySQL:通过字符串比较更新具有来自其他表的 id 的表列
- xml - 如何在 Spring Batch 作业中的多个步骤(每个步骤包含不同的 itemreader)中重用相同的 itemprocessor
- sql-server - 用符号处理 sql 字符顺序
- python - 是否可以从 matplotlib 的刻度下方某处绘制箭头
- javascript - 如何更新数组中的地图对象?
- swift - 使用数组存储颜色(字符串)来设置标签元素的 UIColor
- laravel - ERR_CONNECTION_REFUSED 通过浏览器访问流浪客
- c# - Unity放大时如何使rts相机平滑
- html - 你如何在html中居中多个文本框
- c# - Razor 组件 + EF Core + 存储库/UoW 模式在没有 SaveChanges() 的情况下更改实体