Hadoop学习--person类对象的序列化和反序列化--day07-创新互联
person类的代码:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网站空间、营销软件、网站建设、伊通网站维护、网站推广。import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import org.apache.hadoop.io.BooleanWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
public class Person implements Writable {
//相当于String类型
private Text name;
public Text getName() {
return name;
}
public void setName(Text name) {
this.name = name;
}
public IntWritable getAge() {
return age;
}
public void setAge(IntWritable age) {
this.age = age;
}
public BooleanWritable getMale() {
return male;
}
public void setMale(BooleanWritable male) {
this.male = male;
}
private IntWritable age;
private BooleanWritable male;
//序列化
public void write(DataOutput out) throws IOException{
name.write(out);
age.write(out);
male.write(out);
}
//反序列化
public void readFields(DataInput in) throws IOException{
name = new Text();
age=new IntWritable();
male=new BooleanWritable();
name.readFields(in);
age.readFields(in);
male.readFields(in);
}
}
测试类的代码:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import org.apache.hadoop.io.BooleanWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.junit.Test;
public class TestPerson {
@Test
public void testSeria() throws Exception{
//new person
Person p = new Person();
p.setName(new Text("tomas"));
p.setAge(new IntWritable(12));
p.setMale(new BooleanWritable(false));
//序列化
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dataOut = new DataOutputStream(baos);
p.write(dataOut);
dataOut.close();
//反序列化
Person newPerson = new Person();
newPerson.readFields(new DataInputStream(new ByteArrayInputStream(baos.toByteArray())));
System.out.println(newPerson.getName());
System.out.println(newPerson.getAge().get());
}
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:Hadoop学习--person类对象的序列化和反序列化--day07-创新互联
链接分享:http://scyanting.com/article/csijgc.html