上一篇博客阐述了怎么创建hadoop与eclipse的连接(因为是在GUI版上装的linux版eclipse),所以这一篇不仅介绍怎么做,而且还讲解怎么创建windows上eclipse与linux上的hadoop的连接。
(11条消息) Centos7(GUI)下的hadoop与eclipse的连接并运行wordcount实例_qq_45672631的博客-CSDN博客
这里,在hadoop已经成功的前提下,我们在官网下载eclipse (这里用的是2021-06版的)java-jdk(这里用的11.012版的)(也可以在工作号下载)在工作号下载,都有安装过程,这里需要添加为jdk添加环境变量
这里的jdk不要求版本兼容配置完环境变量后(win+r,cmd,java -version)
我用的hadoop-2.7.5,hadoop-eclipse的插件版本号也要与hadoop对应。(悄悄说一句,这里不需要下载hadoop,windows版,插件与hadoop都可以用linux版,当然你直接从linux哪里传hadoop更好(因为已经配置好了))在windows上运行eclipse,还需要hadoop,bin文件下的一个hadoop.dll文件。
这里linux版的是没有的大家可以去淘宝,或者csdn寻找(需要对应hadoop版本的)然后将hadoop.dll复制到C:\Windows\System32下。然后在eclipse上创建文件,删除文件需要在hadoop的hdfs-site.xml文件上配置下图的dfs.permissions
准备工作完成后,通过Xftp(后其他传输工具,将hadoop传送至windows,我直接将其放在D盘),这里就不在赘述。
接下来的操作就和在linux上操作eclipse上一样了,这里简述一遍为没有看过上篇博客的同志
双击eclipse,选择存储目录,点击Window->Preferences(点击Browse选择hadoop的路径能看到bin文件的)点击Apply and Close。
点击Window->Show view->Other(打开(Open)MapReduce Tools 下的Map/Redcue Locations)。
创建hadoop的连接(这里简述一下:Location name (随便),Map/Reduce(V2) Master,DFS Master 与你的hadoop的core-site.xml 有关,Host(主机名或主机p)Port:主机名后面的端口号(9000或8020),而Map/Reduce(V2) Master Port(默认9001,也可以不改),User name 是你的hadoop用户名(hadoop在那个用户删配置的,我这里是在root用户下配置))。
连接成功并获得hdfs的文件信息
Hadoop集群(第9期)_MapReduce初级案例 - 虾皮 - 博客园 (cnblogs.com)
按上面的博客做啦。
首先在桌面上创建file1.txt 、file2.txt(这里的文件名可以不按这个创建,因为代码只要输入文件夹的路径,里面并没有强调文件名) 在HDFS上创建输入文件夹dedup-in,将文本文件上传到dedup-in里。
打开Map/Reduce Project 项目,再src下创建一个java package(命名随便,这里我将就之前的cn.neu)然后右击cn.neu,New,创建一个java class(命名可以按照参考博客的命名也可以随便命名,但等一下需要修改java的一些代码的主类名)
这里,需要将hadoop/etc/hadoop->log4j.properties(也可以用之前wordcount的下载的,用hadoop的则会有一个警告,然后是运行时控制台的字体红色的),移动到src下,将core-site.xml 、hdfs-site.xml文件复制到java包下。
复制代码时除package 名与主类名外其余全部复制(当然你也可以全部复制,然后修改)
检查代码改错(一般是主类名,与包名会错),然后修改下图(将ip换成自己的主机ip(或主机名(前提你在windows哪里加了主机-ip映射)))。修改下面的输入输出文件
修改如下:
保存后,右击dedup.java->Run As -> Run on the Hadoop
刷新一下根目录结果如下:
一、数据去重
剩下的五个实例都和这个大同小异,重要的修改代码。这里需要说的是,在博主之前做第二个与第五个,遇到过代码运行没报错,但输出文件夹却是空的,这事先检查代码,与输入文件没错后,再次运行,否则关掉eclipse,在运行,还不行的话,重启虚拟机,然后就出来了。
二、数据排序
三、平均成绩(竟然乱码了嘿嘿,大家可以百度一下)
四、单表关联
按照下图比较是否正确
五、多表连接
六、倒排索引
是不是感觉很简单,因为学校没开java课,但其实也能积累一些经验。