写点什么

在 Hadoop 环境里面统计西游记文章的词组(hdfs 实验)

作者:王小王-123
  • 2022 年 6 月 29 日
  • 本文字数:1429 字

    阅读完需:约 5 分钟

在Hadoop环境里面统计西游记文章的词组(hdfs实验)

在 Hadoop 的环境里面我们测试一个文件,对西游记这个书籍里面的所有词语,进行统计排序。hadoop 包括两个核心组成:HDFS:分布式文件系统,存储海量的数据 MapReduce:并行处理框架,实现任务分解和调度。


hadoop 运行机制


MapReduce 工作原理



首先我们准备四个文件,在自己 Windows 里面已经写好的,或者是从其他地方 copy 过来的(涉及一些参数和路径的修改)


点击下载这四个参考文件前面两文件是实现我们的文章词组的分割处理和排序处理(Python 文件),后面的一个是执行文件,最后一个是西游记里面的文章,这个里面已经利用 pycharm 的 jieba 库做好的文字的处理,只有词组和空格,没有标点符号和其他的东西。



准备:


首先打开虚拟机,启动 Hadoop



这样就启动成功了,有的时候我们很容易忽略这个,我的这台机器配置了,开机自启动,所以打开虚拟机就会自己启动,但是如果没有的话我们就需要利用下面的代码


start-all.sh
复制代码


之后等待启动 OK,再去查看即可


实验过程


思路:


1.首先把文件上传到我们的虚拟机 home 目录,然后对其中三个文件权限进行修改。2.修改 run.sh 里面的参数,Hadoop 文件路径,Python 文件路径。3.上传我们文件到 hdfs 本地


实验过程:


1.首先我们在 home 目录里面新建一个 test1 的文件夹,然后把这四个文件拖到我们新建的这个文件夹里面。然后我们去修改其中 2 个 Python 文件的内容,一个 sh 的文件路径即可


whw@whw-hadoop:~/test1$ chmod 777 mapper.py whw@whw-hadoop:~/test1$ chmod 777 reduce.py whw@whw-hadoop:~/test1$ ll总用量 1420drwxr-xr-x  2 whw whw    4096 9月  25 23:44 ./drwxr-xr-x 21 whw whw    4096 9月  28 22:02 ../-rwxrwxrwx  1 whw whw     546 9月  25 23:44 mapper.py*-rwxrwxrwx  1 whw whw    1038 9月  25 23:44 reduce.py*-rwxrw-rw-  1 whw whw     275 9月  25 23:42 run.sh*-rwxrw-rw-  1 whw whw 1431328 9月  24 21:45 xyj_stopwords.txt*whw@whw-hadoop:~/test1$ 
复制代码


2.然后我们再去本地的 hdfs 里面创建一个 test1 的文件


whw@whw-hadoop:~$ hdfs dfs -mkdir /test1mkdir: `/test1': File existswhw@whw-hadoop:~$ 
复制代码


我这里的文件已经存在了,可以通过这个命令去验证一下


hdfs dfs -ls /test1
复制代码


然后把我们已经处理好一部分的西游记文件上传到 hdfs 本地文件


hdfs dfs -copyFromLocal /home/whw/test1/xyj_stopwords.txt /test1/
复制代码


注意 copyFromLocal 的大小写,然后就是我们的这个文件路径,我们直接点击该文件的属性,复制路径和文件名即可,再去终端粘贴,最后一步就是把这个文件放在那里,我们放在本地的 test1 的文件夹下面,注意后面加了一个/,如果不加这个,就会给这个文件重命名了。


查看


hdfs dfs -ls /test1/
复制代码


hdfs dfs -cat /test1/xyj_stopwords.txt
复制代码



3.修改 run.sh



首先找到 Hadoop 的文件路径


sudo find / -name hadoop-stream*
复制代码



修改完毕



注意由于我之前测试过一次,所以输出文件已经重复了如果去执行文件的时候,发现以下页面,我们只需要把之前的那个 run.sh 里面的那个输出的 result 改成 results 即可!!




现在我们执行,但是必须在 test 终端打开


./run.sh
复制代码



我们可以在闲暇之余,我们可以看看执行的过程,我们在我们的浏览器里面输入,回车即可


127.0.0.1:0880
复制代码


也可以查看我们 Hadoop 的配置以及其他参数



结果查看


hdfs dfs -ls /st1/results
复制代码


hdfs dfs -cat /test1/results/文件名
复制代码


这里的文件名是我们输入第一条命令的时候会出现一个 part 文件,把这个文件名名字复制粘贴过来即可



最后注意关闭我们的 Hadoop 机器


stop-all.sh
复制代码


每文一语


世界很大,总是会有很巧合的遇见!

发布于: 2022 年 06 月 29 日阅读数: 28
用户头像

王小王-123

关注

CSDN博客专家🏆华为云·云享专家🏆 2021.03.22 加入

学习的道路上与我一起记录美好的回忆,开启你的专属的代码人生,让青春的余味渗入到万物互联的信息流,永不褪去那最初的颜色......

评论

发布
暂无评论
在Hadoop环境里面统计西游记文章的词组(hdfs实验)_mapreduce_王小王-123_InfoQ写作社区