【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载。版权所有,侵权必究!
返回Spark教程首页
推荐纸质教材:林子雨、郑海山、赖永炫编著《Spark编程基础(Python版)》
前面已经学习了Spark安装,完成了实验环境的搭建,并且学习了Spark运行架构和RDD设计原理,同时,我们还学习了Scala编程的基本语法,有了这些基础知识作为铺垫,现在我们可以没有障碍地开始编写一个简单的Spark应用程序了——词频统计。
任务要求
任务:编写一个Spark应用程序,对某个文件中的单词进行词频统计。
准备工作:请进入Linux系统,打开“终端”,进入Shell命令提示符状态,然后,执行如下命令新建目录:
cd /usr/local/spark
mkdir mycode
cd mycode
mkdir wordcount
cd wordcount
然后,在“/usr/local/spark/mycode/wordcount”目录下新建一个包含了一些语句的文本文件word.txt,命令如下:
vim word.txt
你可以在文本文件中随意输入一些单词,用空格隔开,我们会编写Spark程序对该文件进行单词词频统计。然后,按键盘Esc键退出vim编辑状态,输入“:wq”保存文件并退出vim编辑器。
在pyspark中执行词频统计
启动pyspark
首先,请登录Linux系统(要注意记住登录采用的用户名,本教程统一采用hadoop用户名进行登录),打开“终端”(可以在Linux系统中使用Ctrl+Alt+T组合键开启终端),进入shell命令提示符状态,然后执行以下命令进入pyspark:
cd /usr/local/spark
./bin/pyspark
....//这里省略启动过程显示的一大堆信息
>>>
启动进入pyspark需要一点时间,在进入pyspark后,我们可能还需要到Linux文件系统中对相关目录下的文件进行编辑和操作(比如要查看spark程序执行过程生成的文件),这个无法在pyspark中完成,因此,这里再打开第二个终端,用来在Linux系统的Shell命令提示符下操作。
加载本地文件
在开始具体词频统计代码之前,需要解决一个问题,就是如何加载文件?
要注意,文件可能位于本地文件系统中,也有可能存放在分布式文件系统HDFS中,所以,下面我们分别介绍如何加载本地文件,以及如何加载HDFS中的文件。
首先,请在第二个终端窗口下操作,用下面命令到达“/usr/local/spark/mycode/wordcount”目录,查看一下上面已经建好的word.txt的内容:
cd /usr/local/spark/mycode/wordcount
cat word.txt
cat命令会把word.txt文件的内容全部显示到屏幕上。
现有让我们切换回到第一个终端,也就是pyspark,然后输入下面命令: