Java执行hadoop的基本操作实例代码

向HDFS上传本地文件
public static void uploadInputFile(String localFile) throws IOException{
Configuration conf = new Configuration();
String hdfsPath = "hdfs://localhost:9000/";
String hdfsInput = "hdfs://localhost:9000/user/hadoop/input";
FileSystem fs = FileSystem.get(URI.create(hdfsPath), conf);
fs.copyFromLocalFile(new Path(localFile), new Path(hdfsInput));
fs.close();
System.out.println("已经上传文件到input文件夹啦");
}
将output文件下载到本地
public static void getOutput(String outputfile) throws IOException{
String remoteFile = "hdfs://localhost:9000/user/hadoop/output/part-r-00000";
Path path = new Path(remoteFile);
Configuration conf = new Configuration();
String hdfsPath = "hdfs://localhost:9000/";
FileSystem fs = FileSystem.get(URI.create(hdfsPath),conf);
fs.copyToLocalFile(path, new Path(outputfile));
System.out.println("已经将输出文件保留到本地文件");
fs.close();
}
删除hdfs中的文件
public static void deleteOutput() throws IOException{
Configuration conf = new Configuration();
String hdfsOutput = "hdfs://localhost:9000/user/hadoop/output";
String hdfsPath = "hdfs://localhost:9000/";
Path path = new Path(hdfsOutput);
FileSystem fs = FileSystem.get(URI.create(hdfsPath), conf);
fs.deleteOnExit(path);
fs.close();
System.out.println("output文件已经删除");
}
执行mapReduce程序
创建Mapper类和Reducer类
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{
String line = value.toString();
line = line.replace("\\", "");
String regex = "性别:</span><span class=\"pt_detail\">(.*?)</span>";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(line);
while(matcher.find()){
String term = matcher.group(1);
word.set(term);
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);
}
}
执行mapReduce程序
public static void runMapReduce(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(WordCount.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[0]));
FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
System.out.println("mapReduce 执行完毕!");
System.exit(job.waitForCompletion(true)?0:1);
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java执行hadoop
# Java执行hadoop操作
# java结合HADOOP集群文件上传下载
# Java访问Hadoop分布式文件系统HDFS的配置说明
# java使用hadoop实现关联商品统计
# 深入浅析Java Object Serialization与 Hadoop 序列化
# hadoop中实现java网络爬虫(示例讲解)
# Java/Web调用Hadoop进行MapReduce示例代码
# Hadoop运行时遇到java.io.FileNotFoundException错误的解决方法
# hadoop运行java程序(jar包)并运行时动态指定参数
# java实现对Hadoop的操作
# 利用Java连接Hadoop进行编程
# 希望能
# 谢谢大家
# 上传文件
# 上传
# part
# remoteFile
# outputfile
# path
# copyToLocalFile
# getOutput
# System
# close
相关文章:
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
如何在阿里云通过域名搭建网站?
装修招标网站设计制作流程,装修招标流程?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
建站之星在线客服如何快速接入解答?
网站制作免费,什么网站能看正片电影?
高防服务器租用指南:配置选择与快速部署攻略
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
小程序网站制作需要准备什么资料,如何制作小程序?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
设计网站制作公司有哪些,制作网页教程?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
建站之星如何防范黑客攻击与数据泄露?
如何构建满足综合性能需求的优质建站方案?
如何快速搭建个人网站并优化SEO?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
如何配置WinSCP新建站点的密钥验证步骤?
如何快速生成凡客建站的专业级图册?
,有什么在线背英语单词效率比较高的网站?
建站之星如何取消后台验证码生成?
相册网站制作软件,图片上的网址怎么复制?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
建站之星如何助力企业快速打造五合一网站?
股票网站制作软件,网上股票怎么开户?
如何在企业微信快速生成手机电脑官网?
如何在腾讯云服务器上快速搭建个人网站?
定制建站如何定义?其核心优势是什么?
三星网站视频制作教程下载,三星w23网页如何全屏?
建站之星安装步骤有哪些常见问题?
教程网站设计制作软件,怎么创建自己的一个网站?
建设网站制作价格,怎样建立自己的公司网站?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
网站制作知乎推荐,想做自己的网站用什么工具比较好?
建站VPS能否同时实现高效与安全翻墙?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
如何快速完成中国万网建站详细流程?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何用VPS主机快速搭建个人网站?
建站之星好吗?新手能否轻松上手建站?
香港服务器租用每月最低只需15元?
如何通过西部建站助手安装IIS服务器?
如何在IIS7中新建站点?详细步骤解析
*请认真填写需求信息,我们会在24小时内与您取得联系。