2019独角兽企业重金招聘Python工程师标准>>>

自定义数据类型,实现Writable接口,重写write方法和readFields方法时,在操作字段时,必须保证顺序,如果在write方法先写id字段,则在readFields也先读id字段。否则报错:

package com.my.hadoop;import org.apache.hadoop.io.Writable;import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;public class PairWritable implements Writable{private int id;private String name;public PairWritable() {}public PairWritable(int id, String name) {set(id,name);}public void set(int id,String name){this.setId(id);this.setName(name);}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return id+"\t"+name;}/*** 写字段的顺序与读字段的顺序必须一致。如在write中首先读id,则read方法中,必须先读id。不然会出错* @param dataOutput* @throws IOException*/@Overridepublic void write(DataOutput dataOutput) throws IOException {dataOutput.writeInt(id);dataOutput.writeUTF(name);}@Overridepublic void readFields(DataInput dataInput) throws IOException {this.id=dataInput.readInt();this.name=dataInput.readUTF();}@Overridepublic int hashCode() {return super.hashCode();}@Overridepublic boolean equals(Object obj) {return super.equals(obj);}
}

转载于:https://my.oschina.net/u/3771618/blog/1616392

hadoop map reduce自定义数据类型时注意顺序,否则报错。相关推荐

  1. Hadoop Map/Reduce教程

    Hadoop Map/Reduce教程 目的     先决条件     概述     输入与输出     例子:WordCount v1.0         源代码         用法        ...

  2. 一步一步跟我学习hadoop(5)----hadoop Map/Reduce教程(2)

    Map/Reduce用户界面 本节为用户採用框架要面对的各个环节提供了具体的描写叙述,旨在与帮助用户对实现.配置和调优进行具体的设置.然而,开发时候还是要相应着API进行相关操作. 首先我们须要了解M ...

  3. eclipse的plugins导入hadoop-eclipse-plugin-2.6.0.jar后Preference下没有hadoop Map/Reduce的解决方法

    参考文章:eclipse下的plugins导入hadoop-eclipse-plugin-2.7.1.jar,Preference下没有hadoop Map/Reduce的解决方法 这种现象一般是由于 ...

  4. 应用时间线服务器启动报错_从服务器到无服务器的时间轴和教程

    应用时间线服务器启动报错 Amazon Web Services is a behemoth powering companies from Fortune 500 corporations to h ...

  5. 记sqoop导入hive时的一次报错

    记sqoop导入hive时的一次报错 Cannot inspect org.apache.hadoop.io.IntWritable 脚本如下: #sqoop安装路径 SQOOP_HOME=/opt/ ...

  6. python导入类有红线_python踩坑系列之导入包时下划红线及报错“No module named”问题...

    python踩坑系列之导入包时下划红线及报错"No module named"问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下 ...

  7. 安装php时,make步骤报错make: *** [ext/gd/gd.lo] Error 1

    安装PHP时,make步骤报错make: *** [ext/gd/gd.lo] Error 1 /usr/local/src/LAMP+memcahed+catci/php-5.4.0/ext/gd/ ...

  8. 配置struts.xml时extends=struts-default会报错,原因和解决

    提示:此种解决方法只适用于Intellij IDEA,MyEclipse或者Eclipse还得另寻它法,但估计原因应该是类似的. 在Intellij IDEA 2017使用Struts2框架时,若新建 ...

  9. 普通的Spring Web项目正常启动,在访问某些JSP页面时,页面会报错 http://java.sun.com/jsp/jstl/core

    问题描述:普通的Spring Web项目正常启动,但是在访问某些JSP页面时,页面会报错出现:org.apache.jasper.JasperException: The absolute uri: ...

最新文章

  1. iOS - 图文混排技术方案分享
  2. php nuke是什么,Php Nuke For Donkeys
  3. nodejs模块笔记
  4. 切换ip下的sql server用户权限丢失_Zabbix_server高可用之文件同步
  5. Quartz源码总结
  6. VTP (vlan trunking protocol)
  7. ASP.NET Core CORS 简单使用
  8. java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...
  9. 我是如何 2 个月拿到 4 份 Offer 并收入翻倍的?
  10. 如何使用idea创建数据库表(源码)
  11. FPGA与数字信号处理
  12. PE制作-004.UEFI和Legacy双启动之修改定制Win10PE
  13. Maven的打包命令
  14. 小米手环4怎么使用_小米运动手环4使用说明
  15. 和周杰讨论:DB2连接问题
  16. 拼多多直播抽奖是什么?玩法介绍!
  17. android平板 跑分软件,安卓平板拿啥比?M1 iPad Pro跑分公布:差距实在太大
  18. linux系统查询服务器型号,Linux系统查看服务器型号
  19. hdu 2086 A1 = ?(递推)
  20. 神经网络训练电脑配置,cpu可以训练神经网络吗

热门文章

  1. 腾讯发布2020人工智能白皮书:泛在智能
  2. 福布斯:混合现实未来的八大应用场景
  3. Nature子刊超越诺贝尔经典理论:神经科学研究路漫漫...
  4. 一场“交通进化”将至: 5G带给车联网与自动驾驶哪些升级?
  5. 全文解析:面向基于区块链的「机器人经济学」概念中,如何验证自主智能体的行为?...
  6. 国际互联网协会(ISOC)提出未来互联网十项原则
  7. 携手320+合作伙伴,英伟达扔下一枚自动驾驶炸弹,打响新年越野赛 | CES2018
  8. Windows 11 正式官宣:全新 UI、支持安卓 App、应用商店 0 抽成!
  9. 内存泄露的原因找到了,罪魁祸首居然是 Java TheadLocal
  10. 拿到饿了么 P7 Offer,却一轮游途虎……