厦门大学计算机科学系数据库实验室 林子雨 博士/副教授 ziyulin@
相关教材:林子雨、郑海山、赖永炫编著《Spark编程基础(Python版)》,访问教材官网()
名称 Jupyter 是由Julia、Python和R三个单词组合而成的。Jupyter Notebook是一种Web应用,它能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,非常方便研究和教学。Jupyter Notebook特别适合做数据处理,其用途可以包括数据清理和探索、可视化、机器学习和大数据分析。
Jupyter notebook 的核心是 Notebook 的服务器。用户通过浏览器连接到该服务器,而 Notebook呈现为Web应用。用户在Web应用中编写的代码通过该服务器发送给内核,内核运行代码,并将结果发送回该服务器。然后,任何输出都会返回到浏览器中。保存 Notebook 时,它将作为 JSON 文件(文件扩展名为 .ipynb)写入到该服务器中。
输入命令以后,如下图所示,会提示你查看许可文件,直接敲入回车即可。
敲入回车以后,会出现软件许可文件,这个文件很长,可以一直不断按回车,来翻到文件的末尾。
翻到许可文件末尾以后,会出现提示“是否接受许可条款”,输入yes后回车即可,如下图所示:
然后,会出现如下所示界面,提醒你选择安装路径,这里不要自己指定路径,直接回车就可以(回车后系统就会安装到默认路径,比如这里是/home/hadoop/anaconda3)。
系统会提示你是否运行conda初始化,也就是设置一些环境变量,这里输入yes以后回车。
安装成功以后,可以看到如下信息。
安装结束后,要关闭当前终端。然后重新打开一个终端,输入命令:conda -V,可以查看版本信息,如下图所示。
可以查看Anaconda的版本信息,命令如下:
这时,你会发现,在命令提示符的开头多了一个(base),看着很难受,可以在终端中运行如下命令,消除这个(base):
然后,关闭终端,再次新建一个终端,可以看到,已经没有(base)了。但是,这时,输入“anaconda -V”命令就会失败,提示找不到命令。如下图所示:
这时,需要到~/.bashrc文件中修改配置,执行如下命令打开文件:
打开文件以后,按键盘上的i键,进入编辑状态,然后,在PATH环境配置中,把“/home/hadoop/anaconda3/bin”增加到PATH的末尾,也就是用英文冒号和PATH的其他部分连接起来,如下图所示:
然后保存退出文件(先按Esc键退出文件编辑状态,再输入:wq(注意是英文冒号),再回车,就可以保存退出文件)。再执行如下命令使得配置立即生效:
执行完source命令以后,就可以成功执行“anaconda -V”命令了,如下图所示。
一般而言,安装了Anaconda发行版时,已经自动为你安装了Jupyter Notebook的,但是也可能有例外,万一如果没有自动安装,那么就在Linux终端中输入以下这一条命令安装(一定要明确知道你机器上没有安装Jupyter Notebook再执行下面命令,如果你无法确定是否已经安装Jupyter
Notebook,那么就暂时不要执行下面这条命令,等到后面遇到问题的时候再来执行):
然后,在终端中执行如下命令:
然后,在Python命令提示符(不是Linux Shell命令提示符)后面输入如下命令:
此时系统会让输入密码,并让你确认密码(如:123456),这个密码是后面进入到Jupyter网页页面的密码。然后系统会生成一个密码字符串,比如sha1:7c:965c1466a4fabf3c5,把这个sha1字符串复制粘贴到一个文件中保存起来,后面用于配置密码。具体如下图所示:
然后,在Python命令提示符后面输入“exit()”,退出Python。如下图所示:
命令执行效果如下图所示:
进入到配置文件页面,在文件的开头增加以下内容:
然后保存并退出vim文件(Esc键,输入:wq)
执行命令后出现如下效果:
会弹出对话框,输入Python密码123456,点击“Log in”,如下图所示。
可以在界面中点击“New”按钮,在弹出的子菜单中点击“Python3”,如下图所示。
然后,会新出现一个网页,网页中包含代码文本框,可以在文本框中输入代码,比如“print(‘Hello Xiamen University’)”。
然后,如下图所示,点击“Run”按钮,就可以执行代码。
要保存代码文件,可以点击界面中的“File”菜单,在弹出的子菜单中点击“Save as…”,如下图所示:
然后,在弹出的对话框中,输入文件名称,比如“HelloXMU”,然后点击“Save”按钮,如下图所示:
然后,切换到首页,在目录下就可以看到新生成的文件HelloXMU.ipynb。可以用鼠标点击这个文件名,进入这个文件的编辑状态。
假设之前已经成功安装了Spark,并且可以顺利启动和使用PySpark。安装过程可以参考厦门大学数据库实验室网页:
在终端中输入如下命令:
然后,在.bashrc文件中把原来已经存在的一行“export PYSPARK_PYTHON=python3”删除,然后,在该文件中增加如下两行:
增加后的效果如下图所示:
然后,保存退出该文件。然后执行如下命令让配置生效:
然后,在Jupyter Notebook首页中,点击“New”,再点击“Python3”,另外新建一个代码文件,把文件保存名称为CountLine,在文件中输入如下内容:
注意,出现运行结果以后,不要再次点击“Run”按钮,如果再次点击“Run”按钮,会出现如下错误提示:
如果要再次运行代码,可以首先点击界面上的“刷新”按钮,如下图所示:
然后,会弹出如下图所示界面,可以点击“restart”按钮,重新启动。
这时,再次去点击“Run”按钮,就可以成功得到结果了。
如果要关闭退出Jupyter Notebook,可以回到终端界面(正在运行Jupyter Notebook的界面),按Ctrl+C,出现提示,输入字母y,就可以退出了(如下图所示)。
此外需要注意的是,在使用Jupyter Notebook调试PySpark程序时,有些代码的输出信息无法从网页上看到,需要到终端界面上查看。如下图所示,代码“wordCount.foreach(print)”的输出结果,是无法在网页上看到的。代码“print(‘Success’)”的结果可以在网页上看到。