JupyterHub 的下一步是什么?
JupyterHub 的下一步是什么?
Jupyterhub 是一个功能强大的应用程序,它允许用户在使用笔记本在协作环境中发布应用程序之前进行数据科学或测试。根据团队任务的需要,应用程序与多种编程语言进行交互,例如 Python , R , 或者 朱莉娅 .
但是,如果团队的环境需求如此不同,他们如何互动呢?
因为中心解决方案的主要任务是为所有用户提供环境,所以有时需要将指定的生态系统定位到指定的团队区域。 Jupyterhub 支持创建小型环境及其配置 内核 以便根据手头的任务准备好使用不同的场景。
假设我们是一个有两个部门的数据团队:数据科学家和数据工程师。 PySpark 必须用于数据工程,Python和库如 熊猫 , scikit-学习 和 海运 必须用于科学。为了实现这一点,内核将帮助为每个团队创建小型工作空间。
Jupyter 生态系统中的内核是什么?
“内核是特定于编程语言的进程,它们独立运行并与 ** 木星** 应用程序及其用户界面”。
怎么做到呢?
在本文中,我将介绍两种集成方法 内核 在 Jupyterhub 生态系统 : 使用 虚拟环境 使用 virtualvenv 和 ipykernel , 并手动添加 构架 喜欢 火花 .
1. 具有虚拟环境的内核(数据科学家团队)。
用于创建虚拟环境将使用纯 Python3 与库 virtualvenv 和 ipykernel。 我们使用 pip 安装它,这需要在控制台中执行。
pip install virtualenv ipykernel
然后,在安装应用程序后,我们继续创建虚拟环境。
#创建环境文件夹 mkdir /home/myuser/envs #移动到文件夹 cd /home/myuser/envs **virtualvenv 科学家团队**
现在,虚拟环境已创建,进入该文件夹,我们将运行以下代码来激活环境。
./scientistteam/脚本/激活 # 或者 /home/myuser/envs/scientistteam/Scripts/activate
通过激活,我们正在移动到一个名为 科学家团队 默认使用python。因此,我们需要在该环境中安装我们需要的库。
#检查python版本
蟒蛇--版本 #检查包(空)
点冻结 #安装需要的包
pip install pandas scikit-learn seaborn
是时候分配 科学家团队 环境使用 IPython 内核 在一个可用的环境中 木星 在不同的环境中。为此,请从内核的 env 运行 ipykernel install,并使用 –prefix 指向 Jupyter env。
/path/to/kernel/env/bin/python -m ipykernel install --prefix=/path/to/jupyter/env --name 'python-my-env' #使用真实路径。 **/home/myuser/envs/scientistteam/bin/python -m ipykernel install --prefix=/usr/local/share/jupyter/kernels --name 'scientistteam'**
注意:最常见的路径如下。 系统范围(例如 /usr/local/share),在 Jupyter 的环境(sys.prefix/share)和每个用户(~/.local/share 或 ~/Library/share)中。
2. 使用框架或编程语言的内核(数据工程团队)。
在这种情况下将添加 Spark 和 PySpark 作为内核,但首先需要安装 Spark。
在这种情况下准备系统我们使用 ubuntu。
sudo apt-get 更新 && sudo apt -y 升级
安装 java 运行时,Spark 需要 Java 才能运行。
sudo apt-get install default-jdk -y java版本 openjdk 版本“11.0.16” 2022-07-19 OpenJDK 运行时环境 (build 11.0.16+8-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, 混合模式, 共享)
从 Apache Spark 下载最新版本 下载 页。
wget https://dlcdn.apache.org/spark/spark-3.2.1/spark-3.2.1-bin-hadoop3.2.tgz
提取文件并移动到最终位置。
tar xvf spark-3.2.1-bin-hadoop3.2.tgz --------------------------------------
sudo mv spark-3.2.1-bin-hadoop3.2/ /opt/spark
现在 Spark 已安装在 /opt/spark 的位置。知道内核所在的路径, /usr/local/share/jupyter/kernels, 我们可以手动完成。
#移动到内核路径。 光盘 **/usr/local/share/jupyter/内核** #创建内核文件夹 mkdir pyspark3 #移动到 pyspark3 文件夹 光盘pyspark3
在 Jupyter 中设置内核的最重要的文件是 kernel.json,我们需要在创建的文件夹中创建它。
须藤纳米内核.json
该文件有一个json结构我们需要填写以下信息。
{ "argv": ["python","-m","ipykernel_launcher",
"-f","connection_file}"], "display_name": "Pyspark 3", “语言”:“蟒蛇”, “env”:{“PYSPARK_PYTHON”:“/usr/bin/python3”,
"SPARK_HOME": "/opt/spark/",
"SPARK_OPTS": "--master yarn --conf spark.ui.port=0",
“PYTHONPATH”:“/opt/spark/python/lib/py4j-0.10.9-src.zip:/opt/spark/python/”} }
用于启动内核的命令行参数存储在 argv 部分。这 显示名称 是将在 UI 中显示为内核名称的名称。内核中使用的编程语言被称为 语 .启动内核时, env 会创建一个环境变量字典。 在我们的案例中,我们设置了与 Spark 相关的 env .但是如果您需要在您的机器中使用 Spark 作为纯系统,则需要在其中设置变量 /etc/环境 或在 .bashrc 文件。
2. 在 Jupyter 中检查您的环境。
每个团队的环境都已创建,我们已准备好工作。列出我们的 Jupyter 内核 使用以下命令。
jupyter 内核规范列表
结果:
可用内核: 科学家团队/usr/local/share/jupyter/kernels/scientistteam pyspark3 /usr/local/share/jupyter/kernels/pyspark3
结论:
内核是在我们的 Jupyter 系统中处理不同条件的强大解决方案,允许团队灵活地拥有多个环境来根据他们的需要执行任务。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明