hadoopget命令(修改hadoop自带的wordcount代码,实现输出指定单词及其数量)

:暂无数据 2026-10-21 07:20:01 :0

hadoopget命令(修改hadoop自带的wordcount代码,实现输出指定单词及其数量)

各位老铁们好,相信很多人对hadoopget命令都不是特别的了解,因此呢,今天就来为大家分享下关于hadoopget命令以及修改hadoop自带的wordcount代码,实现输出指定单词及其数量的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

修改hadoop自带的wordcount代码,实现输出指定单词及其数量

首先你需要指定你想要的单词是什么,可以通过命令行指定,然后保存在Configuration中。然后map任务和reduce任务只需要改一处就可以了,就是在获取到key(单词作为key)时从Configuration中获取指定的单词,如果相同则使用context.write输出,不相同直接不输出即可,这样输出的就是指定的单词的数据

hadoop中常用的命令

1、查看指定目录下内容
hadoop dfs –ls
eg: hadoop dfs –ls /user/wangkai.pt
2、打开某个已存在文件
hadoop dfs –cat
eg:hadoop dfs -cat /user/wangkai.pt/data.txt
3、将本地文件存储至hadoop
hadoop fs –put
hadoop fs –put /home/t/file.txt /user/t
(file.txt是文件名)
4、将本地文件夹存储至hadoop
hadoop fs –put
hadoop fs –put /home/t/dir_name /user/t
(dir_name是文件夹名)
5、将hadoop上某个文件down至本地已有目录下
hadoop fs -get
hadoop fs –get /user/t/ok.txt /home/t
6、删除hadoop上指定文件
hadoop fs –rm
hadoop fs –rm /user/t/ok.txt
7、删除hadoop上指定文件夹(包含子目录等)
hadoop fs –rm
hadoop fs –rmr /user/t
8、在hadoop指定目录内创建新目录
hadoop fs –mkdir /user/t
9、在hadoop指定目录下新建一个空文件
使用touchz命令:
hadoop fs -touchz /user/new.txt
10、将hadoop上某个文件重命名
使用mv命令:
hadoop fs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt)
11、将hadoop指定目录下所有内容保存为一个文件,同时down至本地
hadoop dfs –getmerge /user /home/t
12、将正在运行的hadoop作业kill掉
hadoop job –kill

如何在Windows下面运行hadoop的MapReduce程序

1. 首先登入hadoop 集群里面的一个节点, 创建一个java源文件, 偷懒起见, 基本盗用官方的word count (因为本文的目的是教会你如何快编写和运行一个MapReduce程序, 而不是如何写好一个功能齐全的MapReduce程序)
内容如下:
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
public class myword {
public static class TokenizerMapper
extends Mapper《Object, Text, Text, IntWritable》{
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
}
}
}
public static class IntSumReducer
extends Reducer《Text,IntWritable,Text,IntWritable》 {
private IntWritable result = new IntWritable();
public void reduce(Text key, Iterable《IntWritable》 values,
Context context
) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
result.set(sum);
context.write(key, result);
}
}
public static void main(String args) throws Exception {
Configuration conf = new Configuration();
String otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
if (otherArgs.length != 2) {
System.err.println(’Usage: wordcount 《in》 《out》’);
System.exit(2);
}
Job job = new Job(conf, ’word count’);
job.setJarByClass(myword.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path(otherArgs));
FileOutputFormat.setOutputPath(job, new Path(otherArgs));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
与官方版本相比, 主要做了两处修改
1) 为了简单起见,去掉了开头的 package org.apache.hadoop.examples;
2) 将类名从 WordCount 改为 myword, 以体现是我们自己的工作成果 :)
2. 拿到hadoop 运行的class path, 主要为编译所用
运行命令
hadoop classpath
保存打出的结果,本文用的hadoop 版本是Pivotal 公司的Pivotal hadoop, 例子:
/etc/gphd/hadoop/conf:/usr/lib/gphd/hadoop/lib/*:/usr/lib/gphd/hadoop/.//*:/usr/lib/gphd/hadoop-hdfs/./:/usr/lib/gphd/hadoop-hdfs/lib/*:/usr/lib/gphd/hadoop-hdfs/.//*:/usr/lib/gphd/hadoop-yarn/lib/*:/usr/lib/gphd/hadoop-yarn/.//*:/usr/lib/gphd/hadoop-mapreduce/lib/*:/usr/lib/gphd/hadoop-mapreduce/.//*::/etc/gphd/pxf/conf::/usr/lib/gphd/pxf/pxf-core.jar:/usr/lib/gphd/pxf/pxf-api.jar:/usr/lib/gphd/publicstage:/usr/lib/gphd/gfxd/lib/gemfirexd.jar::/usr/lib/gphd/zookeeper/zookeeper.jar:/usr/lib/gphd/hbase/lib/hbase-common.jar:/usr/lib/gphd/hbase/lib/hbase-protocol.jar:/usr/lib/gphd/hbase/lib/hbase-client.jar:/usr/lib/gphd/hbase/lib/hbase-thrift.jar:/usr/lib/gphd/hbase/lib/htrace-core-2.01.jar:/etc/gphd/hbase/conf::/usr/lib/gphd/hive/lib/hive-service.jar:/usr/lib/gphd/hive/lib/libthrift-0.9.0.jar:/usr/lib/gphd/hive/lib/hive-metastore.jar:/usr/lib/gphd/hive/lib/libfb303-0.9.0.jar:/usr/lib/gphd/hive/lib/hive-common.jar:/usr/lib/gphd/hive/lib/hive-exec.jar:/usr/lib/gphd/hive/lib/postgresql-jdbc.jar:/etc/gphd/hive/conf::/usr/lib/gphd/sm-plugins/*:
3. 编译
运行命令
javac -classpath xxx ./myword.java
xxx部分就是上一步里面取到的class path
运行完此命令后, 当前目录下会生成一些.class 文件, 例如:
myword.class myword$IntSumReducer.class myword$TokenizerMapper.class
4. 将class文件打包成.jar文件
运行命令
jar -cvf myword.jar ./*.class
至此, 目标jar 文件成功生成
5. 准备一些文本文件, 上传到hdfs, 以做word count的input
例子:
随意创建一些文本文件, 保存到mapred_test 文件夹
运行命令
hadoop fs -put ./mapred_test/
确保此文件夹成功上传到hdfs 当前用户根目录下
6. 运行我们的程序
运行命令
hadoop jar ./myword.jar myword mapred_test output
顺利的话, 此命令会正常进行, 一个MapReduce job 会开始工作, 输出的结果会保存在 hdfs 当前用户根目录下的output 文件夹里面。
至此大功告成!
如果还需要更多的功能, 我们可以修改前面的源文件以达到一个真正有用的MapReduce job。
但是原理大同小异, 练手的话, 基本够了。
一个抛砖引玉的简单例子, 欢迎板砖。

hadoop常用shell命令怎么用

一、常用的hadoop命令
1、hadoop的fs命令
#查看hadoop所有的fs命令
1

hadoop fs
#上传文件(put与copyFromLocal都是上传命令)
1
2

hadoop fs -put jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk
hadoop fs -copyFromLocal jdk-7u55-linux-i586.tar.gz hdfs://hucc01:9000/jdk
#下载命令(get与copyToLocal都是下载命令)
1
2

hadoop fs -get hdfs://hucc01:9000/jdk jdk1.7
hadoop fs -copyToLocal hdfs://hucc01:9000/jdk jdk1.7
#将本地一个或者多个文件追加到hdfs文件中(appendToFile)
1

hadoop fs -appendToFile install.log /words
#查询hdfs的所有文件(ls)
1

hadoop fs -ls /
#帮助命令(help)
1

hadoop fs -help fs
#查看hdfs文件的内容(cat和text)
1
2

hadoop fs -cat /words
hadoop fs -text /words
#删除hdfs文件(rm)
1

hadoop fs -rm -r /words
#统计hdfs文件和文件夹的数量(count)
1

hadoop fs -count -r /
#合并hdfs某个文件夹的文件,并且下载到本地(getmerge)
1

hadoop fs -getmerge / merge
#将本地文件剪切到hdfs,相当于对本地文件上传后再删除(moveFormLocal)
1

hadoop fs -moveFromLocal words /
#查看当前文件系统的使用状态(df)
1

hadoop fs -df
二、常用的hdfs命令(这个用的比较多)
用法跟hadoop命令一样,推荐2.0之后使用hdfs命令
1

hdfs dfs

hadoop怎么保存配置文件

从安装Hadoop 单机版的配置说起
在这里配置了Hadoop的文件目录
1. 启动Hadoop 并上传文件
上传文件命令:hadoop fs -put hadoop-2.9.2.tar.gz hdfs://hdgroup01:9000/
可以看到已经上传了文件了
2. 删除本地文件
如果删除后你在浏览器刷新页面 然后还能下载 说明 肯定存在其他地方
使用命令下载也可以:hadoop fs -get hdfs://hdgroup01:9000/hadoop-2.9.2.tar.gz
3. hdfs 文件存放的位置
通过查看 安装时配置的hadoop文件目录 上传文件后的结果
这个dfs 应该见过的 就是在格式化namenode的时候 在我们配置的文件中创建了dfs 文件夹
4. 上传一个349.5M 的文件
5. 进到hadoop 本地存储文件中查看 存储格式
上传的文件为349.47M 被切分成了 三块 因为是单机版 所以都存放到了 这台主机的文件系统中
可以看到 hadoop 块大小为128M(默认) 超过128M的文件会被切成不同的块存放
总结
1. hdfs是是通过分布式集群来存储文件,为客户端提供了一个便捷的访问方式 虚拟的目录结构
2. 文件存储到hdfs集群中的时候是被切分成block的 默认为128M
3. 文件的block 存放在若干台datanode节点中
4. hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理
5. 每个block 在集群中会存储多个副本,好处是可以提高数据的可靠性,还可以提高访问的吞吐量。

什么情况下命令 “hadoop fs

在hadoop环境下执行 hadoop fs --help ,里面有相关的命令提示,简单的有ls,du,cp,mv等
跟shell一样,只不过是查看或者操作hdfs文件
Usage: java FsShell
               
           
               
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           

自己试试就可以了,不复杂

文章分享结束,hadoopget命令和修改hadoop自带的wordcount代码,实现输出指定单词及其数量的答案你都知道了吗?欢迎再次光临本站哦!

hadoopget命令(修改hadoop自带的wordcount代码,实现输出指定单词及其数量)

本文编辑:admin

本文相关文章:


origin下载慢解决办法(origin平台下载速度慢 提高下载速度方法介绍)

origin下载慢解决办法(origin平台下载速度慢 提高下载速度方法介绍)

本篇文章给大家谈谈origin下载慢解决办法,以及origin平台下载速度慢 提高下载速度方法介绍对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月13日 11:40

花体文字转化器(帮忙把I love you forever转换成花体,,要下面这种效果~~谢谢)

花体文字转化器(帮忙把I love you forever转换成花体,,要下面这种效果~~谢谢)

今天给各位分享帮忙把I love you forever转换成花体,,要下面这种效果~~谢谢的知识,其中也会对帮忙把I love you forever转换成花体,,要下面这种效果~~谢谢进行解释,如果能碰巧解决你现在面临的问题,别忘了关注

2026年8月14日 18:30

ps人像磨皮插件(PS磨皮滤镜软件Portraiture3汉化安装教程及使用方法图解)

ps人像磨皮插件(PS磨皮滤镜软件Portraiture3汉化安装教程及使用方法图解)

本篇文章给大家谈谈ps人像磨皮插件,以及PS磨皮滤镜软件Portraiture3汉化安装教程及使用方法图解对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年8月10日 20:50

solidworks2012安装(同一台电脑怎么装两个不同的solidworks版本,比如2015和2012)

solidworks2012安装(同一台电脑怎么装两个不同的solidworks版本,比如2015和2012)

这篇文章给大家聊聊关于solidworks2012安装,以及同一台电脑怎么装两个不同的solidworks版本,比如2015和2012对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年7月18日 07:10

reactor core教程(认识Spring - Reactor框架)

reactor core教程(认识Spring - Reactor框架)

大家好,如果您还对reactor core教程不太了解,没有关系,今天就由本站为大家分享reactor core教程的知识,包括认识Spring - Reactor框架的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月18日 12:20

record可数吗(“record“是可数名词 当它是“记录“的意思时是可数还是不可数)

record可数吗(“record“是可数名词 当它是“记录“的意思时是可数还是不可数)

本篇文章给大家谈谈record可数吗,以及“record“是可数名词 当它是“记录“的意思时是可数还是不可数对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏

2026年10月16日 21:30

怎么查看oracle是否安装成功(怎么判断oracle是否安装成功)

怎么查看oracle是否安装成功(怎么判断oracle是否安装成功)

大家好,今天小编来为大家解答以下的问题,关于怎么查看oracle是否安装成功,怎么判断oracle是否安装成功这个很多人还不知道,现在让我们一起来看看吧!

2026年10月1日 12:10

kindeditor漏洞jsp(jsp使用kindeditor上传文件)

kindeditor漏洞jsp(jsp使用kindeditor上传文件)

其实kindeditor漏洞jsp的问题并不复杂,但是又很多的朋友都不太了解jsp使用kindeditor上传文件,因此呢,今天小编就来为大家分享kindeditor漏洞jsp的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析

2026年9月30日 08:20

placeholder标签(HTML里input标签里的placeholder、for属性的作用)

placeholder标签(HTML里input标签里的placeholder、for属性的作用)

“placeholder标签”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看placeholder标签(HTML里input标签里的placeholder、for属性的作用)!

2026年9月26日 19:40

vendor(vendor是什么意思翻译)

vendor(vendor是什么意思翻译)

各位老铁们好,相信很多人对vendor都不是特别的了解,因此呢,今天就来为大家分享下关于vendor以及vendor是什么意思翻译的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年9月23日 03:50

更多文章:


jquery动态添加表格行(如何通过jquery动态给表格添加一行)

jquery动态添加表格行(如何通过jquery动态给表格添加一行)

其实jquery动态添加表格行的问题并不复杂,但是又很多的朋友都不太了解如何通过jquery动态给表格添加一行,因此呢,今天小编就来为大家分享jquery动态添加表格行的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月23日 00:30

cmake命令行参数(CMake (三)cmake 在工程中的用法)

cmake命令行参数(CMake (三)cmake 在工程中的用法)

本篇文章给大家谈谈cmake命令行参数,以及CMake (三)cmake 在工程中的用法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月23日 00:00

游戏代码翻译器下载(求游戏实时翻译软件)

游戏代码翻译器下载(求游戏实时翻译软件)

“游戏代码翻译器下载”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看游戏代码翻译器下载(求游戏实时翻译软件)!

2026年10月22日 23:50

linux数据备份命令(Linux系统下常用的数据备份方法有哪些)

linux数据备份命令(Linux系统下常用的数据备份方法有哪些)

大家好,今天小编来为大家解答以下的问题,关于linux数据备份命令,Linux系统下常用的数据备份方法有哪些这个很多人还不知道,现在让我们一起来看看吧!

2026年10月22日 23:20

小程序开发平台开源(有哪些快速开发平台或者零代码开发平台)

小程序开发平台开源(有哪些快速开发平台或者零代码开发平台)

大家好,如果您还对小程序开发平台开源不太了解,没有关系,今天就由本站为大家分享小程序开发平台开源的知识,包括有哪些快速开发平台或者零代码开发平台的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月22日 23:10

executequery返回值(ExecuteQuery(sql)的返回值)

executequery返回值(ExecuteQuery(sql)的返回值)

大家好,executequery返回值相信很多的网友都不是很明白,包括ExecuteQuery(sql)的返回值也是一样,不过没有关系,接下来就来为大家分享关于executequery返回值和ExecuteQuery(sql)的返回值的一些

2026年10月22日 23:00

web个性布局模板(FrontPage简明教程:网页布局)

web个性布局模板(FrontPage简明教程:网页布局)

各位老铁们,大家好,今天由我来为大家分享web个性布局模板,以及FrontPage简明教程:网页布局的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月22日 22:50

舍曲林吃了一周越来越严重(我母亲77岁,服用舍曲林一周,开始半片,4天后改为1片,第三天开始失眠,第四天出现乏力、食欲下降,)

舍曲林吃了一周越来越严重(我母亲77岁,服用舍曲林一周,开始半片,4天后改为1片,第三天开始失眠,第四天出现乏力、食欲下降,)

本篇文章给大家谈谈舍曲林吃了一周越来越严重,以及我母亲77岁,服用舍曲林一周,开始半片,4天后改为1片,第三天开始失眠,第四天出现乏力、食欲下降,对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所

2026年10月22日 21:00

flash player电脑版下载(FLASH PLAYER在哪下能安全的下载呢)

flash player电脑版下载(FLASH PLAYER在哪下能安全的下载呢)

这篇文章给大家聊聊关于flash player电脑版下载,以及FLASH PLAYER在哪下能安全的下载呢对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月22日 19:20

matlab免费的网址(找matlab高手)

matlab免费的网址(找matlab高手)

今天给各位分享找matlab高手的知识,其中也会对找matlab高手进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月22日 17:20

最近更新

如何优化新站SEO策略服务?
2026-10-23 02:10:22 浏览:0
新站优化有什么坏处?如何有效避免
2026-10-23 02:08:22 浏览:0
潭州学院seo论坛新手如何快速上手
2026-10-23 02:07:27 浏览:0
石家庄网站建设模板免费下载怎么选
2026-10-23 02:06:17 浏览:0
热门文章

wait for you杨和苏(大家听下(wait for you)这首英文歌的开头那段音乐)
2026-06-13 16:20:04 浏览:26
刷关键字排名怎么操作最有效?
2026-09-14 20:02:13 浏览:20
标签列表