为 Pyspark (AEN 4.1.3) 创建自定义 Jupyter 内核¶
这些说明添加了一个自定义 Jupyter Notebook 选项,以允许用户选择 PySpark 作为内核。
安装 Spark ¶
安装 Spark 的最简单方法是使用Cloudera CDH。
您将使用 YARN 作为资源管理器。安装 Cloudera CDH 后,安装 Spark。Spark 带有一个 PySpark 外壳。
为 PySpark 创建一个 notebook 内核¶
您可以以管理员或普通用户的身份创建内核。阅读以下说明以帮助您选择要使用的方法。
1. 作为管理员¶
创建一个新内核并将其指向每个项目中的根 env。为此,请在/opt/wakari/wakari-compute/share/jupyter/kernels/ 中创建一个目录“pyspark” 。
创建以下 kernel.json 文件:
{ "argv" : [ "/opt/wakari/anaconda/bin/python" ,
"-m" , "ipykernel" , "-f" , "connection_file}" , "--profile" , "pyspark" ],
"显示名称” :“PySpark” , “语言” :“蟒蛇” }
您可以为“display_name”选择任何名称。
此配置指向根环境中的 python 可执行文件。由于该环境受管理员控制,因此用户无法向该环境添加新包。他们将需要管理员来帮助更新环境。
2. 作为普通用户¶
在用户的主目录中创建一个新目录:.local/share/jupyter/kernels/pyspark/。这样,用户将使用默认环境并能够升级或安装新软件包。
创建以下 kernel.json 文件:
{ "argv" : [ "/projects/<username>/<project_name>/envs/default/bin/python" ,
"-m" , "ipykernel" , "-f" , "connection_file}" , "--profile " , "pyspark" ],
"display_name" : "PySpark" , "language" : "python" }
注意:将“<username>”替换为正确的用户名,将“<project_name>”替换为正确的项目名称。
您可以为“display_name”选择任何名称。
创建一个 iPython 配置文件¶
来自内核的上述配置文件调用要求我们定义一个特定的 PySpark 配置文件。应该为每个登录 AEN 以使用 PySpark 内核的用户创建此配置文件。
在用户的家中,~/.ipython/profile_pyspark/startup/00-pyspark-setup.py
使用文件内容创建目录和文件:
导入 操作系统
导入 系统
# CDH安装spark的地方,如果用户本地安装了Spark可以在这里修改。
# 我们可以选择检查是否可以从环境中检索变量。
操作系统。环境[ "SPARK_HOME" ] = "/usr/lib/spark"
操作系统。环境[ "PYSPARK_PYTHON" ] = "/opt/wakari/anaconda/bin/python"
# 和 Python 路径
os . 环境[ "PYLIB" ] = os 。环境[ "SPARK_HOME" ] + "/python/lib"
系统。路径。插入(0 , OS 。ENVIRON [ “PYLIB” ] + “/py4j-0.9-src.zip” ) #10.4-src.zip “)
SYS 。路径。插入件(0 , OS 。ENVIRON [ ”PYLIB“ ] + ” /pyspark。)
操作系统。环境[ "PYSPARK_SUBMIT_ARGS" ] = "--name yarn pyspark-shell"
现在使用具有 PySpark 配置文件的用户帐户登录。
在项目中创建新笔记本时,现在可以选择 PySpark 作为内核。创建这样的笔记本时,您将能够导入 pyspark 并开始使用它:
从 pyspark 导入 SparkConf
从 pyspark 导入 SparkContext
注意:您始终可以在 PySpark 安装文件中添加这些行和您可能经常使用的任何其他命令,00-pyspark-setup.py
如上所示。