hadoop map reduce自定义数据类型时注意顺序,否则报错。
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自定义数据类型时注意顺序,否则报错。相关推荐
- Hadoop Map/Reduce教程
Hadoop Map/Reduce教程 目的 先决条件 概述 输入与输出 例子:WordCount v1.0 源代码 用法 ...
- 一步一步跟我学习hadoop(5)----hadoop Map/Reduce教程(2)
Map/Reduce用户界面 本节为用户採用框架要面对的各个环节提供了具体的描写叙述,旨在与帮助用户对实现.配置和调优进行具体的设置.然而,开发时候还是要相应着API进行相关操作. 首先我们须要了解M ...
- 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的解决方法 这种现象一般是由于 ...
- 应用时间线服务器启动报错_从服务器到无服务器的时间轴和教程
应用时间线服务器启动报错 Amazon Web Services is a behemoth powering companies from Fortune 500 corporations to h ...
- 记sqoop导入hive时的一次报错
记sqoop导入hive时的一次报错 Cannot inspect org.apache.hadoop.io.IntWritable 脚本如下: #sqoop安装路径 SQOOP_HOME=/opt/ ...
- python导入类有红线_python踩坑系列之导入包时下划红线及报错“No module named”问题...
python踩坑系列之导入包时下划红线及报错"No module named"问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下 ...
- 安装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/ ...
- 配置struts.xml时extends=struts-default会报错,原因和解决
提示:此种解决方法只适用于Intellij IDEA,MyEclipse或者Eclipse还得另寻它法,但估计原因应该是类似的. 在Intellij IDEA 2017使用Struts2框架时,若新建 ...
- 普通的Spring Web项目正常启动,在访问某些JSP页面时,页面会报错 http://java.sun.com/jsp/jstl/core
问题描述:普通的Spring Web项目正常启动,但是在访问某些JSP页面时,页面会报错出现:org.apache.jasper.JasperException: The absolute uri: ...
最新文章
- iOS - 图文混排技术方案分享
- php nuke是什么,Php Nuke For Donkeys
- nodejs模块笔记
- 切换ip下的sql server用户权限丢失_Zabbix_server高可用之文件同步
- Quartz源码总结
- VTP (vlan trunking protocol)
- ASP.NET Core CORS 简单使用
- java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...
- 我是如何 2 个月拿到 4 份 Offer 并收入翻倍的?
- 如何使用idea创建数据库表(源码)
- FPGA与数字信号处理
- PE制作-004.UEFI和Legacy双启动之修改定制Win10PE
- Maven的打包命令
- 小米手环4怎么使用_小米运动手环4使用说明
- 和周杰讨论:DB2连接问题
- 拼多多直播抽奖是什么?玩法介绍!
- android平板 跑分软件,安卓平板拿啥比?M1 iPad Pro跑分公布:差距实在太大
- linux系统查询服务器型号,Linux系统查看服务器型号
- hdu 2086 A1 = ?(递推)
- 神经网络训练电脑配置,cpu可以训练神经网络吗
热门文章
- 腾讯发布2020人工智能白皮书:泛在智能
- 福布斯:混合现实未来的八大应用场景
- Nature子刊超越诺贝尔经典理论:神经科学研究路漫漫...
- 一场“交通进化”将至: 5G带给车联网与自动驾驶哪些升级?
- 全文解析:面向基于区块链的「机器人经济学」概念中,如何验证自主智能体的行为?...
- 国际互联网协会(ISOC)提出未来互联网十项原则
- 携手320+合作伙伴,英伟达扔下一枚自动驾驶炸弹,打响新年越野赛 | CES2018
- Windows 11 正式官宣:全新 UI、支持安卓 App、应用商店 0 抽成!
- 内存泄露的原因找到了,罪魁祸首居然是 Java TheadLocal
- 拿到饿了么 P7 Offer,却一轮游途虎……