|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectml.shifu.guagua.worker.AbstractWorkerComputable<MASTER_RESULT,WORKER_RESULT,KEY,VALUE>
MASTER_RESULT - master result for computation in each iteration.WORKER_RESULT - worker result for computation in each iteration.KEY - key type for each recordVALUE - value type for each recordpublic abstract class AbstractWorkerComputable<MASTER_RESULT extends Bytable,WORKER_RESULT extends Bytable,KEY extends Bytable,VALUE extends Bytable>
Abstract implementation to load data one by one.
To load data successfully, one must make sure initialize GuaguaRecordReader firstly.
TODO how to add the first iteration to computation.
TODO add multi-thread version to load data.
| 构造方法摘要 | |
|---|---|
AbstractWorkerComputable()
|
|
| 方法摘要 | |
|---|---|
WORKER_RESULT |
compute(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
Computation for each iteration. |
abstract WORKER_RESULT |
doCompute(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
Real computation logic after data loading. |
GuaguaRecordReader<KEY,VALUE> |
getRecordReader()
|
abstract void |
init(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
Initialization work for the whole computation |
abstract void |
initRecordReader(GuaguaFileSplit fileSplit)
Each GuaguaFileSplit must be initialized before loading data. |
abstract void |
load(KEY currentKey,
VALUE currentValue,
WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
Load data one by one before computation. |
protected void |
postLoad(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
Do some post work before loading data. |
protected void |
preLoad(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
Do some pre work before loading data. |
void |
setRecordReader(GuaguaRecordReader<KEY,VALUE> recordReader)
|
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
public AbstractWorkerComputable()
| 方法详细信息 |
|---|
public WORKER_RESULT compute(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
throws IOException
WorkerComputable 复制的描述
WorkerComputable<MASTER_RESULT extends Bytable,WORKER_RESULT extends Bytable> 中的 computeworkerContext - worker context instance which includes worker info for each iteration.
IOException - If any io exception in computation, for example, IOException in reading data.protected void preLoad(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
protected void postLoad(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
public abstract void initRecordReader(GuaguaFileSplit fileSplit)
throws IOException
GuaguaFileSplit must be initialized before loading data.
IOExceptionpublic abstract void init(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
public abstract WORKER_RESULT doCompute(WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
public abstract void load(KEY currentKey,
VALUE currentValue,
WorkerContext<MASTER_RESULT,WORKER_RESULT> workerContext)
public GuaguaRecordReader<KEY,VALUE> getRecordReader()
public void setRecordReader(GuaguaRecordReader<KEY,VALUE> recordReader)
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||