ml.shifu.guagua.worker
类 GuaguaWorkerService<MASTER_RESULT extends Bytable,WORKER_RESULT extends Bytable>

java.lang.Object
  继承者 ml.shifu.guagua.worker.GuaguaWorkerService<MASTER_RESULT,WORKER_RESULT>
类型参数:
MASTER_RESULT - master computation result in each iteration.
WORKER_RESULT - worker computation result in each iteration.
所有已实现的接口:
GuaguaService

public class GuaguaWorkerService<MASTER_RESULT extends Bytable,WORKER_RESULT extends Bytable>
extends Object
implements GuaguaService

GuaguaWorkerService is the basic implementation as a worker for whole application process.

All the properties used to create computable instance, interceptor instances are set in props.

After workerComputable, workerInterceptors are constructed, they will be used in start(), run(Progressable), stop() to do the whole iteration logic.

GuaguaWorkerService is only a skeleton and all implementations are in the interceptors and computable classes defined by user.

The execution order of preXXXX is different with postXXXX. For preXXX, the order is FIFO, but for postXXX, the order is FILO.


构造方法摘要
GuaguaWorkerService()
           
 
方法摘要
 String getAppId()
           
 String getContainerId()
           
 InMemoryCoordinator<MASTER_RESULT,WORKER_RESULT> getCoordinator()
           
 String getMasterResultClassName()
           
 Properties getProps()
           
 List<GuaguaFileSplit> getSplits()
           
 int getTotalIteration()
           
 WorkerComputable<MASTER_RESULT,WORKER_RESULT> getWorkerComputable()
           
 List<WorkerInterceptor<MASTER_RESULT,WORKER_RESULT>> getWorkerInterceptors()
           
 String getWorkerResultClassName()
           
 void init(Properties props)
          Parameter initialization, such as set result class name, iteration number and so on.
protected  WORKER_RESULT iterate(WorkerContext<MASTER_RESULT,WORKER_RESULT> context, int initialIteration, Progressable progress)
          Call each iteration computation and preIteration, postIteration in interceptors.
 void run(Progressable progress)
          Iterate WorkerComputable.compute(WorkerContext), and set hook point before and after each iteration.
 void setAppId(String appId)
          App id for whole application.
 void setContainerId(String containerId)
          Set the unique container id for master or worker.
 void setCoordinator(InMemoryCoordinator<MASTER_RESULT,WORKER_RESULT> coordinator)
           
 void setMasterResultClassName(String masterResultClassName)
           
 void setProps(Properties props)
           
 void setSplits(List<GuaguaFileSplit> splits)
          Assign splits to each worker to make them load that data.
 void setTotalIteration(int totalIteration)
           
 void setWorkerComputable(WorkerComputable<MASTER_RESULT,WORKER_RESULT> workerComputable)
           
 void setWorkerInterceptors(List<WorkerInterceptor<MASTER_RESULT,WORKER_RESULT>> workerInterceptors)
           
 void setWorkerResultClassName(String workerResultClassName)
           
 void start()
          Start services from interceptors, all services started logic should be wrapperd in WorkerInterceptor.preApplication(WorkerContext);
 void stop()
          Stop services from interceptors which is used for resource cleaning or servers shutting down.
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

GuaguaWorkerService

public GuaguaWorkerService()
方法详细信息

start

public void start()
Start services from interceptors, all services started logic should be wrapperd in WorkerInterceptor.preApplication(WorkerContext);

指定者:
接口 GuaguaService 中的 start

stop

public void stop()
Stop services from interceptors which is used for resource cleaning or servers shutting down.

指定者:
接口 GuaguaService 中的 stop

run

public void run(Progressable progress)
Iterate WorkerComputable.compute(WorkerContext), and set hook point before and after each iteration.

指定者:
接口 GuaguaService 中的 run

iterate

protected WORKER_RESULT iterate(WorkerContext<MASTER_RESULT,WORKER_RESULT> context,
                                int initialIteration,
                                Progressable progress)
Call each iteration computation and preIteration, postIteration in interceptors.


init

public void init(Properties props)
Parameter initialization, such as set result class name, iteration number and so on.

指定者:
接口 GuaguaService 中的 init
参数:
props - which contains different properties for master and workers to use.

getProps

public Properties getProps()

setProps

public void setProps(Properties props)

getSplits

public List<GuaguaFileSplit> getSplits()

setSplits

public void setSplits(List<GuaguaFileSplit> splits)
从接口 GuaguaService 复制的描述
Assign splits to each worker to make them load that data.

指定者:
接口 GuaguaService 中的 setSplits

getAppId

public String getAppId()

setAppId

public void setAppId(String appId)
从接口 GuaguaService 复制的描述
App id for whole application. For example: Job id in MapReduce(hadoop 1.0) or application id in Yarn.

指定者:
接口 GuaguaService 中的 setAppId

getContainerId

public String getContainerId()

setContainerId

public void setContainerId(String containerId)
从接口 GuaguaService 复制的描述
Set the unique container id for master or worker. For example: Task id in MapReduce or container id in Yarn.

指定者:
接口 GuaguaService 中的 setContainerId

getWorkerComputable

public WorkerComputable<MASTER_RESULT,WORKER_RESULT> getWorkerComputable()

setWorkerComputable

public void setWorkerComputable(WorkerComputable<MASTER_RESULT,WORKER_RESULT> workerComputable)

getTotalIteration

public int getTotalIteration()

setTotalIteration

public void setTotalIteration(int totalIteration)

getWorkerInterceptors

public List<WorkerInterceptor<MASTER_RESULT,WORKER_RESULT>> getWorkerInterceptors()

setWorkerInterceptors

public void setWorkerInterceptors(List<WorkerInterceptor<MASTER_RESULT,WORKER_RESULT>> workerInterceptors)

getMasterResultClassName

public String getMasterResultClassName()

setMasterResultClassName

public void setMasterResultClassName(String masterResultClassName)

getWorkerResultClassName

public String getWorkerResultClassName()

setWorkerResultClassName

public void setWorkerResultClassName(String workerResultClassName)

getCoordinator

public InMemoryCoordinator<MASTER_RESULT,WORKER_RESULT> getCoordinator()

setCoordinator

public void setCoordinator(InMemoryCoordinator<MASTER_RESULT,WORKER_RESULT> coordinator)


Copyright © 2015. All Rights Reserved.