手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Hadoop数据分析平台II 实验指导 实验二 Spark编程实践.doc

[日期:2018-05-26] 来源:Linux社区  作者:Linux [字体: ]

一、实验目的和要求
1. 掌握Spark常用操作。
2. 理解Spark常用API的使用。
3. 掌握编写Spark独立应用程序。

二、实验平台
操作系统:Linux
Hadoop版本:2.6.0或以上版本
Spark版本:1.6.2或以上版本
JDK版本:1.6或以上版本
三、实验内容
编写一个Spark应用程序,对某个文件中的单词进行词频统计。
三、实验步骤
步骤1:准备工作。
请进入Linux系统,打开“终端”,进入Shell命令提示符状态,然后,执行如下命令新建目录:
Shell 命令
1. cd /usr/local/spark
2. mkdir mycode
3. cd mycode
4. mkdir wordcount
5. cd wordcount
然后,在“/usr/local/spark/mycode/wordcount”目录下新建一个包含了一些语句的文本文件word.txt,命令如下:
Shell 命令
6. vim word.txt
你可以在文本文件中随意输入一些单词,用空格隔开,我们会编写Spark程序对该文件进行单词词频统计。然后,按键盘Esc键退出vim编辑状态,输入“:wq”保存文件并退出vim编辑器。
步骤2:在spark-shell中执行词频统计
(1) 启动spark-shell
首先,请登录Linux系统(要注意记住登录采用的用户名,本教程统一采用hadoop用户名进行登录),打开“终端”(可以在Linux系统中使用Ctrl+Alt+T组合键开启终端),进入shell命令提示符状态,然后执行以下命令进入spark-shell:
Shell 命令
7. cd /usr/local/spark
8. ./bin/spark-shell
9. ....//这里省略启动过程显示的一大堆信息
10. scala>
启动进入spark-shell需要一点时间,在进入spark-shell后,我们可能还需要到Linux文件系统中对相关目录下的文件进行编辑和操作(比如要查看spark程序执行过程生成的文件),这个无法在park-shell中完成,因此,这里再打开第二个终端,用来在Linux系统的Shell命令提示符下操作。
(2) 加载本地文件
在开始具体词频统计代码之前,需要解决一个问题,就是如何加载文件?
要注意,文件可能位于本地文件系统中,也有可能存放在分布式文件系统HDFS中,所以,下面我们分别介绍如何加载本地文件,以及如何加载HDFS中的文件。
首先,请在第二个终端窗口下操作,用下面命令到达“/usr/local/spark/mycode/wordcount”目录,查看一下上面已经建好的word.txt的内容:
Shell 命令
11. cd /usr/local/spark/mycode/wordcount
12. cat word.txt
cat命令会把word.txt文件的内容全部显示到屏幕上。
现有让我们切换回到第一个终端,也就是spark-shell,然后输入下面命令:
scala
1. scala> val textFile = sc.textFile("file:///usr/local/spark/mycode/wordcount/word.txt")

完整文档可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2018年资料/5月/26日/Hadoop数据分析平台II 实验指导 实验二 Spark编程实践/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-05/152562.htm

linux
相关资讯       Spark编程 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款