试问如何在Jupyter中编写Spark程序

2022-09-12  本文已影响0人  CoderInsight

0.大前提

我们在编写Python程序的时候都会觉得Jupyter超级适合入门使用,而且可以实时的看到每一步的执行,所以在练习Spark程序的时候,如果也可以使用Jupyter就好了,那么这也是这一篇文章的初衷~

首先无论是在windows中还是在Linux中都要实现安装好python3的环境,在此基础中我们再安装好jupyter,毕竟jupyter是基于python3的。
在windows中和Linux安装jupyter非常简单,在换源之后直接使用pip install jupyter即可(如果有特殊情况报错,比如虽然是换源了,但是下载的时候仍然报错,此时直接使用 在pip 命令 中 通过 -i 参数 指定一个国内的源安装即可);但是在Linux中有时候会缺少对应的中文字符集,我们需要手动的添加到系统的。

1.Windows中

可能不用配置hadoop,但是在windows中我经常会用到,所以就一起配置了;所以未测试!

(1).部署python环境(当前版本:3.7)

直接双击安装包即可,在安装时需要勾选添加到PATH中。

(2).部署java环境(当前版本:jdk1.8)

直接双击安装包即可,其会自动将环境变量加入到PATH中。

(3).部署Hadoop(当前版本:2.7)

将下载好的hadoop解压,配置HADOOP_HOME,再配置到PATH环境变量中,然后在windows环境中需要额外添加一个exe文件(winutils.exe)

(4).部署spark(当前版本:2.44)

将根据Hadoop版本编译好的spark解压,然后配置SPARK_HOME,再配置到PATH环境变量中。

(5).部署spylon-kernel

这个是在jupyter中使用spark中的关键了。直接依次使用以下两条命令安装即可:

pip install spylon-kernel
python -m spylon_kernel install

(6).查看当前的jupyter中已安装内核

使用以下命令即可查看到当前环境中有"python3"和"spylon-kernel"两个内核:

jupyter kernelspec list

(7).启动jupyter服务,然后新建即可

jupyter notebook

2.Linux中

这里测试了没有安装hadoop,直接安装jupyter-spark;测试通过!

(1).部署jdk(1.8)

解压、配置环境变量

(2).部署Scala(2.11)

解压、配置环境变量

(3).部署Spark(2.44)

export SPARK_MASTER_IP=master
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export JAVA_HOME=/usr/local/jdk
# 拷贝spark目录中yarn目录下的jar包到==> hadoop的yarn目录下
源目录:/usr/local/spark/yarn/spark-2.4.4-yarn-shuffle.jar
目的目录:/usr/local/hadoop/share/hadoop/yarn
<!-- 当需要Spark程序要运行在 yarn中时,需要更改以下配置 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>spark_shuffle</value>
</property>

<property>
<name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
<value>org.apache.spark.network.yarn.YarnShuffleService</value>
</property>
<!--配置yarn的主机名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>

(4),安装 toree 和 jupyter-spark

这里直接采用的默认方式进行安装的,并没有设置--master spark地址和--kernal_name 等,直接指定的--spark_home,然后进行安装的。

pip3 install toree
jupyter toree install --spark_home=/usr/local/spark

(5).查看当前的jupyter中已安装内核

使用以下命令即可查看到当前环境中有"python3"和"apache_toree_scala"两个内核:

jupyter kernelspec list

(6).启动jupyter服务,然后新建即可

jupyter notebook --allow-root

上一篇 下一篇

猜你喜欢

热点阅读