如何创建到远程Spark服务器的连接,并从本地机器上运行的ipython读取数据



我在本地计算机上运行ipython notebook,希望创建到远程Spark服务器I.p.的连接,然后从remote server上的hdfs文件夹中读取数据。如何从本地ipython notebook创建到Spark服务器的远程连接?

笔记本电脑必须在本地机器上运行有什么特殊原因吗?如果没有,它将像一样简单

  1. 在运行spark的远程机器上安装jupyter/ipyson
    remote$ pip install "jupyter[all]"

  2. 修改spark-env.sh并添加两行
    export PYSPARK_PYTHON=/usr/bin/python2.7 #your location may vary
    export PYSPARK_DRIVER_PYTHON=/usr/local/bin/ipython

  3. 启动pyspark
    PYSPARK_DRIVER_PYTHON_OPTS="notebook --no-browser --port=7777" pyspark

  4. 在本地计算机上,设置ssh隧道
    ssh -i private_key -N -f -L localhost:7776:localhost:7777 ubuntu@remote.com

  5. 在您的本地浏览器上,访问http://localhost:7776

您可能希望在screen/tmux后面运行#3,以使其保持更长的时间。

一些有用的页面:
[1] 。http://jupyter-notebook.readthedocs.org/en/latest/public_server.html
[2] 。http://blog.insightdatalabs.com/jupyter-on-apache-spark-step-by-step

您可以尝试SparkMagic。

SparkMagic是Livy的客户,可以在Jupyter笔记本电脑中运行。当我们在本地Jupyter客户端上编写Spark代码时,SparkMagic运行Spark作业远程通过livy。

使用SparkMagic+Jupyter笔记本电脑,我们可以使用本地Jupyter本机上运行的Spark,然后使用它连接到远程Spark集群

最新更新