如何使用 jupyter notebook 运行 pyspark?

Pra*_*yal 4 apache-spark pyspark pyspark-sql

当我pyspark在控制台中运行命令时,我试图启动 jupyter 笔记本。当我现在输入它时,它只会在控制台中启动和交互式 shell。但是,这不方便键入长代码行。有没有办法将 jupyter notebook 连接到 pyspark shell?谢谢。

geo*_*geo 6

我假设您已经安装了 spark 和 jupyter 笔记本,并且它们可以相互独立地完美运行。

如果是这种情况,请按照以下步骤操作,您应该能够启动带有 (py)spark 后端的 jupyter 笔记本。

  1. 转到您的 spark 安装文件夹,那里应该有一个bin目录: /path/to/spark/bin

  2. 创建一个文件,让我们调用它 start_pyspark.sh

  3. 打开start_pyspark.sh并编写如下内容:

        #!/bin/bash
    
    
    export PYSPARK_PYTHON=/path/to/anaconda3/bin/python
    export PYSPARK_DRIVER_PYTHON=/path/to/anaconda3/bin/jupyter
    export PYSPARK_DRIVER_PYTHON_OPTS="notebook --NotebookApp.open_browser=False --NotebookApp.ip='*' --NotebookApp.port=8880"
    
    pyspark "$@"
    
    Run Code Online (Sandbox Code Playgroud)

将 替换为/path/to ...分别安装 python 和 jupyter 二进制文件的路径。

  1. 这一步很可能已经完成,但以防万一通过添加以下行
    修改您的~/.bashrc文件

        #火花
        导出路径="/path/to/spark/bin:/path/to/spark/sbin:$PATH"
        export SPARK_HOME="/path/to/spark"
        导出 SPARK_CONF_DIR="/path/to/spark/conf"
    

运行source ~/.bashrc,你准备好了。

继续尝试start_pyspark.sh
您还可以为脚本提供参数,例如 start_pyspark.sh --packages dibbhatt:kafka-spark-consumer:1.0.14.

希望它对你有帮助。

在此处输入图片说明


ktd*_*drv 5

假设您在要运行 Jupyter 的任何位置都安装了 Spark,我建议您使用findspark。一旦你pip install findspark,你就可以

import findspark
findspark.init()

import pyspark
sc = pyspark.SparkContext(appName="myAppName")
Run Code Online (Sandbox Code Playgroud)

... 去