Hadoop:LongWritable 无法转换为 org.apache.hadoop.io.IntWritable

2023-11-27

我想获取输入文件中给出的温度平均值,我的 Mapper 和Reducer 语法对我来说似乎很好,但我仍然收到以下错误:

 Unable to load realm info from SCDynamicStore
    13/02/17 08:03:28 INFO mapred.JobClient: Task Id : attempt_201302170552_0009_m_000000_1, Status : FAILED
    java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.IntWritable
        at org.apache.hadoop.examples.TempMeasurement$TempMapper.map(TempMeasurement.java:26)
        at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
        at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
        at org.apache.hadoop.mapred.Child.main(Child.java:249)

我的映射器功能是这样的:

public static class TempMapper extends Mapper<IntWritable, Text, IntWritable, FloatWritable>{

@Override
protected void map(IntWritable key, Text value, Context context)
                throws IOException, InterruptedException {

    //code for getting date and temperature

    String temp = columns.get(3);
    context.write(new IntWritable(year), new FloatWritable(Float.valueOf(temp)));
}
}

减少是:

  public static class IntSumReducer
       extends Reducer<IntWritable, FloatWritable, IntWritable ,FloatWritable> {
    private FloatWritable result = new FloatWritable();

    public void reduce(IntWritable key, Iterable<FloatWritable> values,
                       Context context
                       ) throws IOException, InterruptedException {

      //code for making calculations    

      context.write(key, result);
    }
  }

输入文件如下:

11111 , 0,19900101, 44.04 ,
11112, 0, 19900102, 50.00,
11113, 3, 19910203, 30.00,

任何帮助,将不胜感激


映射文本文件的映射器的关键类始终是LongWritable。这是因为它包含当前行的字节偏移量,这很容易溢出整数。

基本上你需要将代码更改为:

public static class TempMapper extends Mapper<LongWritable, Text, IntWritable, FloatWritable>{

  @Override
  protected void map(LongWritable key, Text value, Context context)
                throws IOException, InterruptedException {
       //code for getting date and temperature
       String temp = columns.get(3);
       context.write(new IntWritable(year), new FloatWritable(Float.valueOf(temp)));
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop:LongWritable 无法转换为 org.apache.hadoop.io.IntWritable 的相关文章

  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 将内存转储到文件

    我想将一部分内存转储到文件中 一个原因是将信息保存在某个地方 另一个原因是当我的程序重新启动时再次读取它 这样做的正确方法是什么 我的第一个想法是 char start my pointer int i for i 0 i lt MEMOR
  • 过程指针,派生类型

    以下内容无法在 Intel Fortran XE 2011 中编译 TYPE type1 procedure interface1 POINTER p END TYPE type1 ABSTRACT INTERFACE integer fu
  • Firebase 错误:W/BiChannelGoogleApi:[FirebaseAuth:] getGoogleApiForMethod() 返回 Gms

    这是我的注册活动 我正在尝试使用 Firebase 创建一个 createUserWithEmailAndPassword 并向用户的个人资料添加一些详细信息 例如全名 地址和电话号码 我想在使用电子邮件和密码创建用户时在分配给新用户的 用
  • SolidJS:控制台日志中的“在`createRoot`或`render`之外创建的计算将永远不会被释放”消息

    在处理 SolidJS 项目时 您可能会开始在 JS 控制台中看到以下警告消息 computations created outside a createRoot or render will never be disposed Solid
  • 使用故事板的优点和缺点

    我计划学习使用故事板开发应用程序 任何人都可以发布使用 StoryBoards 时的一些优点和缺点吗 何时使用 Storyboard 以及何时使用 XIB 在 iOS 编程中使用 Storyboard 代替 xib 文件有什么好处 ipho
  • MySQL 更新更改多个列是非原子的吗?

    我在使用 Django 和 MySQL 5 5 22 时遇到以下问题 给定一个包含 id level 列和存储为 a11 a12 a21 a22 的 2x2 矩阵的表 我有这一行 id a11 a12 a21 a22 level 324 3
  • 创建多个变量[重复]

    这个问题在这里已经有答案了 我想用一个创建 10 个变量for在Python中 不是数组 像这样的东西 for i in range 1 10 1 variable i 100 i print variable i 我想创建变量名称 在本例
  • 转置 pandas 数据框的一部分

    我有以下数据框 gt gt gt df Out 15 group type amount number 0 group A buy 100 123 1 group A view 0 111 2 group B view 0 222 3 gr
  • 在 Django 中将 unaccent 与 SearchVector 和 SearchQuery 一起使用

    我已经在 Django 中安装了 UnaccentExtension 但在使用它进行搜索时遇到问题 vector SearchVector title unaccent abstract unaccent query SearchQuery
  • PHPMailer IsHTML(true) 不起作用

    我正在尝试从 PHPMailer 发送电子邮件 一切正常 但问题是 即使在写入后 它也会随 HTML 标签一起发送电子邮件 mail gt IsHTML true 下面是我发送电子邮件的代码 mail new PHPMailer mail
  • 在 bash 中清理 $PATH [关闭]

    Closed 这个问题是无关 目前不接受答案 我的路径有很多很久以前通过脚本添加的条目 他们不在我的 bashrc bash profile or bash login 我担心重置我的路径 bashrc将会产生不良的长期结果 有没有办法找到
  • Droid:如何以编程方式重新排序线性布局内容?

    我有一个带有按钮列表的滚动视图 我希望在第一次使用应用程序时将说明放在此列表的开头 但在用户使用一次后将说明移至屏幕末尾 因为实际上不再需要说明 但我仍然想要他们可以访问 我不知道从哪里开始 编辑 根据要求提供不同的解释 我的主要布局有一张
  • JQ 如何将多个对象合并为一个

    给定以下输入 这是输出的简化版本 包含另一个复杂查询的 100K 对象 echo a b c d e a b f d g jq a b c d e a b f d g 期望的输出 c e f g 或 更适合后续使用 x c e f g 我一
  • PyQt。如何在 QTableView 中插入小部件

    这里有张桌子 tab QTableView sti QStandardItemModel parent None sti appendRow QStandardItem str 1 QStandardItem str 2 QStandard
  • 如何将 UTF-8 byte[] 转换为字符串

    我有一个byte 从我碰巧知道的文件加载的数组包含UTF 8 在一些调试代码中 我需要将其转换为字符串 有没有一个单行线可以做到这一点 在幕后 它应该只是一个分配和一个memcopy 所以即使没有实现 也应该是可以的 string resu
  • 如何在不进行模运算的情况下将 Java BigInteger 提高到 BigInteger 的幂?

    我正在做一些大整数计算 我需要将一个 BigInteger 提高到另一个 BigInteger 的幂 pow 方法执行我想要的操作 但采用 int 值作为参数 modPow 方法采用 BigInteger 作为参数 但我不希望答案与我尝试计
  • node.js 上缺少由 throw() 生成的 uncaughtException 的堆栈跟踪

    我正在尝试捕获 node js uncaughtException 的堆栈跟踪 它对于不同的错误都可以正常工作 但对于 throw 语句却不起作用 异常处理的正确堆栈跟踪 cat errorFunc js process on uncaug
  • 如何清除VS代码中的终端命令历史记录?

    在 VS Code Powershell 终端中 即使在重新启动后 您也只需按向上和向下箭头键即可浏览输入命令的历史记录 然而 当输入相同的命令时 它还会循环浏览这些重复的历史记录 而不仅仅是使它们不同 从而很难找到循环回某些旧历史记录 有
  • 敏感数据:NSString VS NSMutableString (iPhone)

    我有一些敏感数据想在使用后直接清除 目前 敏感数据都是NSString的形式 根据我的理解 NSString 是不可变的 这意味着我无法真正清除数据 不过 NSMutableString 似乎更合适 因为它是可变的 并且具有诸如replac
  • Hadoop:LongWritable 无法转换为 org.apache.hadoop.io.IntWritable

    我想获取输入文件中给出的温度平均值 我的 Mapper 和Reducer 语法对我来说似乎很好 但我仍然收到以下错误 Unable to load realm info from SCDynamicStore 13 02 17 08 03