Hadoop 中未找到类异常

2024-02-07

我正在尝试运行一个 hadoop 单单元程序来进行字数统计,我在 Windows 10 64 位和 Cygwin 上执行此操作,这是我正在使用的程序:

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;

public class WordCount {
   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();
      Job job = Job.getInstance(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(args[0]));
      FileOutputFormat.setOutputPath(job, new Path(args[1]));

      System.exit(job.waitForCompletion(true) ? 0 : 1);
   }
}

我的类路径如下:

~/hadoop-1.2.1/bin/hadoop jar WordCount.jar hadoop.ProcessUnits input_dir output_dir

当我尝试编译该程序时,出现以下错误消息:

    Exception in thread "main" java.lang.ClassNotFoundException: hadoop.ProcessUnits
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:153)

问题是hadoop.ProcessUnits应该指向mainClass你想跑。你的班级叫WordCount,所以它应该看起来像这样:

$ hadoop jar WordCount.jar <PACKAGE>.WordCount input_dir output_dir

您的代码不包含包名称,因此我已替换<PACKAGE>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop 中未找到类异常 的相关文章

随机推荐

  • Visual Studio 在调试时跳到每隔一行

    我现在尝试单步执行代码 Visual Studio 会跳过所有其他行 我知道它是每隔一个 因为当我有一个 ForEach 循环时 它会碰到在以后的迭代中跳过的行 Visual Studio 是否有任何逻辑原因跳过其他行 UPDATE 我添加
  • 如何迭代 Array.prototype 函数

    我想将所有数组函数包装在数组对象中 但在控制台中 gt gt gt Array prototype gt gt gt prototype undefined 但是当我输入时Array prototype在控制台中它显示自动完成中的所有功能
  • System.Diagnostics.Trace.WriteLine 的结果在哪里?

    在我的代码中 我使用以下命令编写了一些跟踪消息System Diagnostics Trace WriteLine 但是我可以从哪里获取消息呢 我查看了事件查看器 但没有找到它们 Are you debugging Look at the
  • 将 Google Maps JS API ImageMapType 剪辑为多边形

    如何将 Google 地图中的 MapType 剪辑为任意多边形 例如 如果我有一个自定义图像映射类型 https developers google com maps documentation javascript maptypes I
  • Typescript:调用另一个类的“方法”

    我对 java type script 很陌生 在理解它们的概念时遇到了一些困难 我想打电话给method另一个班级的 然而 到目前为止我还没有成功 export class Foo calcSomeThing parameter numb
  • 如何仅使用 javascript 更改 onclick 按钮颜色?

    我试图使用 onclick 和 getElementsByClassName 更改按钮的颜色 并想出了这样的结果 HTML
  • Android 2.3 Webview 中的希伯来字体

    我正在将一个显示希伯来语的应用程序移植到 Android 2 3 2 3 模拟器在 TextView 中正确显示字符串 但是当我尝试将字符串放入 WebView 中时 WebView 只显示乱码 这告诉我希伯来语字体在模拟器中可用 但 we
  • 执行更新时存储过程失败

    我正在使用 PHP 的 SQL Server 驱动程序连接到 SQL Server 2008 Express 现在 我正在尝试用存储过程替换所有 SELECT UPDATE 和 INSERT 语句 这对于只包含 SELECT 语句的 SP
  • 将 Ninject 2.0 与 ASP .Net 3.5 结合使用

    我正在尝试将 Ninject 2 0 与 Asp Net 3 5 Web 应用程序一起使用 以下是 DLLS 及其我正在使用的版本 Ninject dll v2 0 0 0 Ninject Extensions Logging dll v2
  • 对象作为 python 字典中的键

    我试图使用一个对象作为 python 字典中的键 但它的行为方式我不太理解 首先 我创建一个以我的对象为键的字典 package disseminators ContentType application zip http other pr
  • 如何知道下次夏令时调整时钟的时间?

    我很好奇 是否有任何方法可以找出下一次夏令时调整发生时的 UTC 日期 时间 类似于 Windows 报告的内容 参见圆圈 此信息在 Windows 中由 EnumDynamicTimeZoneInformation 函数提供 See ht
  • 从 DataRow 获取值之间的区别

    示例代码 DataTable table new DataTable insert column to table table Columns Add name insert value to table foreach DataRow r
  • 如何处理语义分割中未知类的平均交集(mIOU)?

    我实现了一个 FCN 网络来进行语义分割 我使用 Cityscapes 作为我的数据集 如您所知 Cityscapes 中有一些您在训练过程中忽略的类 它们被标记为 255 我使用加权损失来忽略未知类的损失 将未知类的损失设置为零 现在我想
  • DrawerNavigator 在点击每个选项时始终显示选项卡栏

    我试图拥有一个选项卡栏 并且每个选项卡栏都有自己的堆栈导航器 我拥有的三个选项卡是 家 轮廓 设置 我也想在抽屉里展示这三个选项 我创建了一个抽屉 但只有点击主页才会显示选项卡栏 我想显示选项卡栏 就像您按下个人资料选项卡一样 选项卡栏仍保
  • click() 带有链接

    我有一个页面 其中有一些链接 都是这样的 a href class answer item 10 a 我想使用click 函数来模拟用户点击其中一个 但它在我的测试中似乎不起作用 Evaluate a mathematical expres
  • Symfony3 Facebook 登录 - redirect_uri URL 转换为相对地址

    我正在尝试为网络应用程序实现 facebook 登录 这是 FacebookConnect php
  • 如何获取两列组合的最后一条记录?

    我遇到的情况我认为可以与 CamelCamelCamel Keepa 等服务进行比较 假设我每天跟踪几个国家 地区的一篇文章的价格 所以我的桌子 我们称之为Trend 看起来像这样 Id Created ArticleId Country
  • 使用 GridView 在 Yii2.0 中显示过滤器的空白行

    我已经设置 GridView 在 Yii2 0 中创建我的表 如下所示
  • Windows SDK 7.1 安装失败

    我正在尝试使用 NET Framework 4 安装适用于 Windows 7 的 Windows SDK 但是当我打开安装程序时收到错误 某些 Windows SDK 组件需要 RTM NET Framework 4 设置 检测到 NET
  • Hadoop 中未找到类异常

    我正在尝试运行一个 hadoop 单单元程序来进行字数统计 我在 Windows 10 64 位和 Cygwin 上执行此操作 这是我正在使用的程序 import java io IOException import java util S