hadoop的数据类型的应用

来源:互联网 发布:远景论坛 知乎 编辑:程序博客网 时间:2024/05/29 19:08
package com.hadoop.io;import java.util.Set;import org.apache.hadoop.io.ArrayWritable;import org.apache.hadoop.io.BooleanWritable;import org.apache.hadoop.io.ByteWritable;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.MapWritable;import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Writable;/** *  * @author:戴桥冰  * 2015-10-5 下午7:14:37 *content: 该类用来展示实际使用中的包装类 */public class WritableStudy {public static class IntArrayWritable extends ArrayWritable{public IntArrayWritable() { super(IntWritable.class);}}public static void main(String[] args){System.out.println("***************Primitive Writables******************");BooleanWritable bool1=new BooleanWritable(true);ByteWritable byte1=new ByteWritable((byte) 3);System.out.printf("Boolean:%s Byte:%d\n",bool1,byte1.get());IntWritable int1=new IntWritable(5);IntWritable int2=new IntWritable(17);System.out.printf("int1:%d  int2:%d\n",int1.get(),int2.get());int1.set(int2.get());System.out.printf("int1:%d int2:%d\n",int1.get(),int2.get());Integer int3=new Integer(19940219);int1.set(int3);System.out.printf("int1:%d int2:%d\n",int1.get(),int2.get());System.out.println("\n*************Array Writable**************");ArrayWritable array=new ArrayWritable(IntWritable.class);array.set(new IntWritable[]{new IntWritable(1456456),new IntWritable(19941013),new IntWritable(19940219)});IntWritable[] values=(IntWritable[]) array.get();for(IntWritable i:values) System.out.println("数字为:"+i.get());IntArrayWritable intArray=new IntArrayWritable();intArray.set(new IntWritable[]{new IntWritable(1),new IntWritable(19941013),new IntWritable(19940219)});IntWritable[] intValues=(IntWritable[]) intArray.get(); for(IntWritable w:intValues) System.out.println("下一组数字为: "+w.get());intArray.set(new LongWritable[]{new LongWritable(19854646)});System.out.println("\n******************Map Writable*********************");MapWritable m=new MapWritable();IntWritable key1=new IntWritable(5);NullWritable values1=NullWritable.get();m.put(key1, values1);System.out.println(m.containsKey(key1));System.out.println(m.get(key1));m.put(new LongWritable(1000),key1);Set<Writable> keys=m.keySet();for(Writable w:keys){System.out.println(w.getClass());}}}


结果如下所示:

 


0 0
原创粉丝点击