全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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小时内与您取得联系。