当前位置: 首页 > 知识库问答 >
问题:

Pyspark始终使用系统的python

华星文
2023-03-14

我们知道一个系统有两个Python:

①<代码>系统的python

/usr/bin/python

②<代码>用户的python

~/anaconda3/envs/Python3.6/bin/python3

现在,我有了一个带有台式机(主)和笔记本电脑(从)的集群。

如果我这样设置,PysparkShell的不同模式也可以:

导出PYSPARK_PYTHON=~/anaconda3/envs/Python3.6/bin/python3

两个节点的导出PYSPARK_DRIVER_PYTHON=~/anaconda3/envs/Python3.6/bin/python3'~/. bashrc

不过,我想用jupyter笔记本配置它。所以我在每个节点的

~/.巴什尔

导出PYSPARK_PYTHON=~/anaconda3/envs/Python3.6/bin/python3

export PYSPARK\u DRIVER\u PYTHON=“jupyter”

export PYSPARK\u DRIVER\u PYTHON\u OPTS=“notebook”

然后我拿到日志

我的Spark版本是:

spark-3.0.0-preview2-bin-hadoop3。2.

我已经阅读了所有的答案

环境变量PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON

与jupyter/all spark笔记本中的driver 3.6版本不同的2.7版本

但运气不好。

我猜奴隶的python2.7是从系统的python.not从水蟒的python。

如何强制火花的从节点使用蟒蛇的python?

谢谢~!

共有1个答案

郑俊美
2023-03-14

Jupiyter正在寻找ipython,您的系统python中可能只安装了ipython。

以便在不同的python版本中使用jupyter。您需要同时使用python版本管理器(pyenv)和python环境管理器(virtualenv),您可以选择要使用的python版本和要安装的jupyter环境,以及完全隔离的python版本和软件包。

  1. 在您选择的python环境中安装ipycore并安装jupyter。

完成以上步骤后。您需要确保每次Spark ReourceManager启动worker executor时,Spark worker都会切换到您选择的python版本和环境。为了在Spark worker executor运行时切换python版本和环境,需要确保Spark Resource Manager ssh进入worker后立即运行一个小脚本:

  1. 转到python环境目录

完成上述步骤后,应该选择由Spark worker executor运行的python版本和jupyter。

 类似资料:
  • 配置选项 要做到最大限度的定制每一个软件包,获取完整的配置选项是必须的。当然,要想更加详细、全面的了解如何自定义安装,还需要查看 README INSTALL FAQ 之类的文档,甚至是软件包的官方手册。需要注意的是,有不少软件包的配置选项分布在多个 configure 脚本中,还有少数并不是通过 configure 脚本进行配置的,查看完整的配置信息就变成一件很吃力的事情了。因此唯一的建议就是:

  • RT-Thread 的启动流程 宏定义 #define  INIT_BOARD_EXPORT(fn)   INIT_EXPORT(fn, "1")   板级驱动初始化,fn为函数指针   #define  INIT_PREV_EXPORT(fn)   INIT_EXPORT(fn, "2")   纯软件函数自动初始化,fn为函数指针   #define  INIT_DEVICE_EXPORT(fn

  • 系统初始化(init) [KNL] init=文件全路径 指定内核挂载根文件系统后运行的第一个用户空间程序的绝对路径。默认为"/sbin/init"。 [KNL] rdinit=全路径 设置从initramfs中运行的第一个用户空间程序的绝对路径,默认为"/init"。 [注意]一旦使用了initramfs并且成功的运行了其中的"/init",所有"init"以及与根文件系统相关的选项(包括"nf

  • 整个程序启动是从_rt0_amd64_darwin开始的,然后JMP到main,接着到_rt0_amd64。前面只有一点点汇编代码,做的事情就是通过参数argc和argv等,确定栈的位置,得到寄存器。下面将从_rt0_amd64开始分析。 这里首先会设置好m->g0的栈,将当前的SP设置为stackbase,将SP往下大约64K的地方设置为stackguard。然后会获取处理器信息,放在全局变量r

  • 使用粒子系统 Unity 使用一个组件实现粒子系统。在场景中放置粒子系统的常用方式是,添加一个预制的游戏对象(菜单:GameObject > Create General > Particle Syste),或者为一个现有的游戏对象添加粒子系统组件(菜单:Component > Effects > Particle System)。因为该组件相当复杂,所以检视视图被分割成数个可折叠的部分或 模块,

  • 我试图保存到带有加密字段的表,但找不到R2DBC支持。 加密列的图像 发现类似问题,但未使用R2DBC 使用Azure Key Vault和Spring Boot的SQL Server列加密 JDBC文档它解释了如何做到这一点,但我没有发现与R2DBC类似的东西 https://docs.microsoft.com/en-us/sql/connect/jdbc/using-always-encry