ml.shifu.guagua.mapreduce
类 GuaguaWritableAdapter<W extends org.apache.hadoop.io.Writable>
java.lang.Object
ml.shifu.guagua.io.HaltBytable
ml.shifu.guagua.mapreduce.GuaguaWritableAdapter<W>
- 所有已实现的接口:
- ml.shifu.guagua.io.Bytable
public class GuaguaWritableAdapter<W extends org.apache.hadoop.io.Writable>
- extends ml.shifu.guagua.io.HaltBytable
GuaguaWritableAdapter is used to adapt hadoop io to Bytable interface.
The reason we use our own writable interface is that we'd like to not depend on hadoop io on guagua core service.
By using this adapter we don't need to implement such as IntWritable, LongWritable, Text and other common writable
implementations.
Notice: If you use GuaguaWritableAdapter as your result class, you should provide the inner writable class name to
GuaguaConstants.GUAGUA_MASTER_RESULT_CLASS or GuaguaConstants.GUAGUA_WORKER_RESULT_CLASS setting.
That means to set '-mr' or 'wr' to hadoop writable class name.
Here is a sample:
hadoop jar ../lib/guagua-mapreduce-0.0.1-SNAPSHOT.jar \
ml.shifu.guagua.mapreduce.GuaguaMapReduceClient \
-libjars ../lib/guagua-mapreduce-examples-0.0.1-SNAPSHOT.jar,../lib/guava-r09-jarjar.jar,../lib/encog-core-3.1.0.jar,../lib/guagua-mapreduce-0.0.1-SNAPSHOT.jar,../lib/guagua-core-0.0.1-SNAPSHOT.jar,../lib/zookeeper-3.4.5.jar \
-i <input> \
-z <zkhost:zkport> \
-w ml.shifu.guagua.example.sum.SumWorker \
-m ml.shifu.guagua.example.sum.SumMaster \
-c 10 \
-n "Guagua Sum Master-Workers Job" \
-mr org.apache.hadoop.io.LongWritable \
-wr org.apache.hadoop.io.LongWritable \
$queue_opts
If you set your own main class, not use GuaguaMapReduceClient, you can set the result class like this.
conf.set(GuaguaConstants.GUAGUA_MASTER_RESULT_CLASS, LongWritable.class.getName());
conf.set(GuaguaConstants.GUAGUA_WORKER_RESULT_CLASS, LongWritable.class.getName());
- 另请参见:
GuaguaWritableSerializer
| 从类 ml.shifu.guagua.io.HaltBytable 继承的方法 |
isHalt, readFields, setHalt, write |
GuaguaWritableAdapter
public GuaguaWritableAdapter(W writable)
- Contructor with Hadoop Writable setting.
- 参数:
writable - Hadoop Writable instance
doWrite
public void doWrite(DataOutput out)
throws IOException
- 指定者:
- 类
ml.shifu.guagua.io.HaltBytable 中的 doWrite
- 抛出:
IOException
doReadFields
public void doReadFields(DataInput in)
throws IOException
- 指定者:
- 类
ml.shifu.guagua.io.HaltBytable 中的 doReadFields
- 抛出:
IOException
getWritable
public W getWritable()
setWritable
public void setWritable(W writable)
hashCode
public int hashCode()
- 覆盖:
- 类
Object 中的 hashCode
equals
public boolean equals(Object obj)
- 覆盖:
- 类
Object 中的 equals
toString
public String toString()
- 覆盖:
- 类
Object 中的 toString
Copyright © 2014. All Rights Reserved.