[Hadoop] [API] [翻訳] Class JobClient

[Hadoop] [API] [翻訳] Class JobClientorg.apache.hadoop.mapred

Class JobClient

java.lang.Object
└ org.apache.hadoop.conf.Configured
    └ org.apache.hadoop.mapred.JobClient

実装しているインターフェース
Configurable, Tool

public class JobClient
extends Configured
implements Tool

JobClient はJobTrackerとユーザージョブとの対話のための主要なインターフェースです。JobClientは ジョブの送信と追跡、コンポーネントタスク レポートログ、マップリデュースクラスタの状況の取得をを提供します
ジョブの送信プロセス:
・ジョブの入出力仕様の検証
・ジョブのInputSplitsの計算
・必要に応じてジョブのDistributedCacheに必要なアカウント情報のセットアップ
・ジョブのJARと構成ファイルをディストリビュートファイルシステム上のマップリデュースシステムディレクトリにコピー
・JobTrackerへのジョブの送信とオプションでステータスのモニタリング

通常、ユーザーはアプリケーションを生成し、JobConfを介してジョブのさまざまな側面を説明し、ジョブの送信とプロセスのモニタにJobClientを使います。
JobClientの使用例:
// JobConfの新規作成
JobConf job = new JobConf(new Configuration(), MyJob.class);

// 特定のジョブパラメーターの指定
job.setJobName("myjob");

job.setInputPath(new Path("in"));
job.setOutputPath(new Path("out"));

job.setMapperClass(MyJob.MyMapper.class);
job.setReducerClass(MyJob.MyReducer.class);

// ジョブの送信と完了まで処理のポーリング
JobClient.runJob(job);

ジョブコントロール
クライアントはシングルマップリデュースでは出来ないマップリデュースジョブと複雑なタスクを繋げることができます。簡単に通常ジョブは分散されたファイルシステムに出力し次のジョブの入力に使うことができる
確実にジョブの完了(成功 of 失敗) 責任がクライアントに置かれます。

ジョブコントロールのオプション
runJob(JobConf) : ジョブの送信とジョブが完了したときに返す
submitJob(JobConf) : ジョブの送信後のみ、返り値のポーリングを行いRunningJobステータスの問い合わせとスケジューリングの決定を行う
JobConf.setJobEndNotificationURI(String) :
ジョブ完了の通知を設定しポーリングをさせない

参照:
JobConf, ClusterStatus, Tool, DistributedCache


階層クラス

static class JobClient.Renewer

static class JobClient.TaskStatusFilter

フィールド

static long COUNTER_UPDATE_INTERVAL

static long DEFAULT_DISK_HEALTH_CHECK_INTERVAL
mapred.disk.healthChecker.intervalが構成されたいない場合、TaskTrackerが必要とするディスクを検証

static int FILE_NOT_FOUND

static String FOR_REDUCE_TASK
マップの出力が転送されているリデュースタスク番号

static String FROM_MAP_TASK
マップの出力データが転送されるマップタスク

static int HEARTBEAT_INTERVAL_MIN

static String MAP_OUTPUT_LENGTH
マップ出力の長さに使われるカスタムhttpヘッダー

static String RAW_MAP_OUTPUT_LENGTH
マップ出力のrawデータの長さに使われるカスタムhttpヘッダー

static int SUCCESS

static String WORKDIR

コンストラクタ

JobClient()
ジョブクライアントの生成

JobClient(InetSocketAddress jobTrackAddr, Configuration conf)
ジョブクライアントの構築と指定のジョブトラッカーへの接続

JobClient(JobConf conf)
JobConfでジョブクライアントの構築しデフォルトのJobTrackerに接続

メソッド

void cancelDelegationToken(Token<DelegationTokenIdentifier> token)
JobTrackerのトークンのキャンセル

void close()
JobClientと遮断

void displayTasks(JobID jobId, String type, String state)
特にタイプと状態のジョブタスク情報の表示する

JobStatus[] getAllJobs()
送信されたジョブを取得

TaskReport[] getCleanupTaskReports(JobID jobId)
現在の状態とジョブタスクのクリーンアップの情報を取得

ClusterStatus getClusterStatus()
Map-Reduceクラスター情報の取得

ClusterStatus getClusterStatus(boolean detailed)
Map-Reduceクラスター情報の取得

int getDefaultMaps()
クラスターのMapsの最大可能情報を取得

int getDefaultReduces()
クラスターのReducesの最大可能情報を取得

Token<DelegationTokenIdentifier> getDelegationToken(Text renewer)

FileSystem getFs()
ファイルシステムハンドルの取得

Running JobgetJob(JobID jobid)
進行中のジョブを追跡するRunningJobオブジェクトを取得

Running JobgetJob(String jobid)
非推奨 getJob(JobID)の使用が望ましい

JobStatus[] getJobsFromQueue(String queueName)
すべてのジョブに追加された特定のJob Queueを取得

TaskReport[] getMapTaskReports(JobID jobId)
ジョブのマップタスク情報を取得

TaskReport[] getMapTaskReports(String jobId)
非推奨 getMapTaskReports(JobID)の使用が望ましい

QueueAclsInfo[] getQueueAclsForCurrentUser()
現在のユーザーのACLキューの取得

JobQueueInfo getQueueInfo(String queueName)
特定の Job Queueの関連キュー情報の取得

JobQueueInfo[] getQueues()
Job Queuesの構成ファイル、キューオブジェクトの配列を返す

TaskReport[] getReduceTaskReports(JobID jobId)
ジョブリデュースタスクの状況を取得

TaskReport[] getReduceTaskReports(String jobId)
非推奨 getReduceTaskReports(JobID) の使用が望ましい

TaskReport[] getSetupTaskReports(JobID jobId)
ジョブのセットアップ状況を取得

Path getStagingAreaDir()
ジョブ指定ファイルが置かれるジョブトラッカーのステージングディレクトリパスの表示

Path getSystemDir()
ジョブ指定ファイルが置かれるジョブトラッカーのシステムディレクトリパスを取得

JobClient.TaskStatusFilter getTaskOutputFilter()
非推奨

static JobClient.TaskStatusFiltergetTaskOutputFilter(JobConf job)
タスクが出力するJobConfのフィルターを取得

void init(JobConf conf)
標準のJobTrackerに接続

static booleanisJobDirValid(Path jobDirPath, FileSystem fs)
ジョブの起動のためにジョブディレクトリのクリーンアップと必要なコンポーネントを検証

JobStatus[] jobsToComplete()
失敗していない未完了のジョブを取得

staticvoid main(String[] argv)

boolean monitorAndPrintJob(JobConf conf, RunningJob job)
リアルタイムと処理中のタスクのジョブと標準出力をモニター

long renewDelegationToken(Token<DelegationTokenIdentifier> token)
トークンの更新

int run(String[] argv)
引数からコマンドを実行

static RunningJobrunJob(JobConf job)
ジョブの送信と完了までの処理をポーリング

void setTaskOutputFilter(JobClient.TaskStatusFilter newValue)
非推奨

staticvoid setTaskOutputFilter(JobConf job, JobClient.TaskStatusFilter newValue)
JobConfを編集しタスクの出力フィルターを設定

RunningJob submitJob(JobConf job)
MRシステムにジョブを送信

RunningJob submitJob(String jobFile)
MRシステムにジョブを送信

RunningJob submitJobInternal(JobConf job)
システムへジョブを送信するための内部メソッド

org.apache.hadoop.conf.Configuredクラスの継承メソッド
getConf, setConf

java.lang.Objectクラスの継承メソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

org.apache.hadoop.conf.Configurable int型 erfaceから継承されたメソッド
getConf, setConf


フィールド詳細

HEARTBEAT_INTERVAL_MIN
public static finalint HEARTBEAT_INTERVAL_MIN
参照:
Constant Field Values

COUNTER_UPDATE_INTERVAL
public static final long COUNTER_UPDATE_INTERVAL
参照:
Constant Field Values

DEFAULT_DISK_HEALTH_CHECK_INTERVAL
public static final long DEFAULT_DISK_HEALTH_CHECK_INTERVAL
mapred.disk.healthChecker.intervalが構成されたいない場合、TaskTrackerが必要とするディスクを検証
参照:
Constant Field Values

SUCCESS
public static final int SUCCESS
参照:
Constant Field Values
FILE_NOT_FOUND

public static final int FILE_NOT_FOUND
参照:
Constant Field Values
MAP_OUTPUT_LENGTH

public static final String MAP_OUTPUT_LENGTH
マップ出力の長さに使われるカスタムhttpヘッダー
参照:
Constant Field Values
RAW_MAP_OUTPUT_LENGTH

public static final String RAW_MAP_OUTPUT_LENGTH
マップ出力のrawデータの長さに使われるカスタムhttpヘッダー
参照:
Constant Field Values
FROM_MAP_TASK

public static final String FROM_MAP_TASK
マップの出力データが転送されるマップタスク
参照:
Constant Field Values
FOR_REDUCE_TASK

public static final String FOR_REDUCE_TASK
マップの出力が転送されているリデュースタスク番号
参照:
Constant Field Values
WORKDIR

public static final String WORKDIR
参照:
Constant Field Values

コンストラクター詳細

JobClient
public JobClient()
ジョブクライアントの生成

JobClient
public JobClient(JobConf conf) throws IOException
JobConfでジョブクライアントの構築しデフォルトのJobTrackerに接続
Parameters:
ジョブ構成
Throws:
IOException
JobClient

public JobClient(InetSocketAddress jobTrackAddr, Configuration conf) throws IOException
ジョブクライアントの構築と指定のジョブトラッカーへの接続
Parameters:
接続するジョブトラッカー
構成
Throws:
IOException

メソッド詳細

init
publicvoid init(JobConf conf) throws IOException
標準のJobTrackerに接続
Parameters:
ジョブ構成
Throws:
IOException

close
publicvoid close() throws IOException
JobClientと遮断
Throws:
IOException

getFs
public FileSystem getFs() throws IOException
ファイルシステムハンドルの取得
Returns:
ファイルシステムハンドル
Throws:
IOException

submitJob
public RunningJob submitJob(String jobFile) throws FileNotFoundException, InvalidJobConfException, IOException
MRシステムにジョブを送信、返り値のRunningJobのハンドルは実行中のジョブ追跡に使うことができる
Parameters:
ジョブ構成
Returns:
RunningJobのハンドル
Throws:
FileNotFoundException
InvalidJobConfException
IOException

submitJob
public RunningJob submitJob(JobConf job) throws FileNotFoundException, IOException
MRシステムにジョブを送信、返り値のRunningJobのハンドルは実行中のジョブ追跡に使うことができる
Parameters:
ジョブ構成
Returns:
RunningJobのハンドル
Throws:
FileNotFoundException
IOException
submitJobInternal

public RunningJob submitJobInternal(JobConf job) throws FileNotFoundException, ClassNotFoundException, int erruptedException, IOException
システムへジョブを送信するための内部メソッド
Parameters:
送信するジョブ構成
Returns:
実行中ジョブのプロキシーオブジェクト
Throws:
FileNotFoundException
ClassNotFoundException
InterruptedException
IOException

isJobDirValid
public static boolean isJobDirValid(Path jobDirPath, FileSystem fs) throws IOException
ジョブの起動のためにジョブディレクトリのクリーンアップと必要なコンポーネントを検証
Throws:
IOException

getJob
public RunningJob getJob(JobID jobid) throws IOException
進行中のジョブを追跡するRunningJobオブジェクトを取得
Parameters:
ジョブID
Returns:
RunningJob、ジョブIDが対応していない場合はnull
Throws:
IOException

getJob
public RunningJob getJob(String jobid) throws IOException
非推奨 getJob(JobID)の使用が望ましい
Throws:
IOException

getMapTaskReports
publicTaskReport[] getMapTaskReports(JobID jobId) throws IOException
ジョブのマップタスク情報を取得
Parameters:
ジョブID
Returns:
マップヒントのリスト
Throws:
IOException

getMapTaskReports
publicTaskReport[] getMapTaskReports(String jobId) throws IOException
非推奨 getJob(JobID)の使用が望ましい
Throws:
IOException

getReduceTaskReports
publicTaskReport[] getReduceTaskReports(JobID jobId) throws IOException
ジョブリデュースタスクの状況を取得
Parameters:
ジョブID
Returns:
リデュースヒントのリスト
Throws:
IOException

getCleanupTaskReports
publicTaskReport[] getCleanupTaskReports(JobID jobId) throws IOException
現在の状態とジョブタスクのクリーンアップの情報を取得
Parameters:
ジョブID
Returns:
クリーンアップヒントのリスト
Throws:
IOException

getSetupTaskReports
publicTaskReport[] getSetupTaskReports(JobID jobId) throws IOException
ジョブのセットアップ状況を取得
Parameters:
ジョブID
Returns:
セットアップヒントのリスト
Throws:
IOException

getReduceTaskReports
publicTaskReport[] getReduceTaskReports(String jobId) throws IOException
非推奨 getReduceTaskReports(JobID) の使用が望ましい
Throws:
IOException

displayTasks
publicvoid displayTasks(JobID jobId, String type, String state) throws IOException
特にタイプと状態のジョブタスク情報の表示する
Parameters:
ジョブID
タスクタイプ (map/reduce/setup/cleanup)
タスクステータス (pending/running/completed/failed/killed)
Throws:
IOException

getClusterStatus
public ClusterStatus getClusterStatus() throws IOException
Map-Reduceクラスター情報の取得
Returns:
Map-Reduceクラスター情報のオブジェクト
Throws:
IOException

getClusterStatus
public ClusterStatus getClusterStatus(boolean detailed) throws IOException
Map-Reduceクラスター情報の取得
Parameters:
trueの場合、JobTrackerのトラッカーネームとメモリ使用量を含む詳細情報を取得
Returns:
Map-Reduceクラスター情報のオブジェクト
Throws:
IOException

getStagingAreaDir
public Path getStagingAreaDir() throws IOException
ジョブ指定ファイルが置かれるジョブトラッカーのステージングディレクトリパスの表示
Returns:
ジョブ指定ファイルが置かれるジョブトラッカーのステージングディレクトリ
Throws:
IOException

jobsToComplete
public JobStatus[] jobsToComplete() throws IOException
失敗していない未完了のジョブを取得
Returns:
実行中、または実行前のJobStatusの配列
Throws:
IOException

getAllJobs
public JobStatus[] getAllJobs() throws IOException
送信されたジョブを取得
Returns:
送信されたジョブの配列
Throws:
IOException

runJob
public static RunningJob runJob(JobConf job) throws IOException
ジョブの送信と完了までの処理をポーリング
Parameters:
ジョブ構成
Throws:
IOException - if the job fails

monitorAndPrintJob
public boolean monitorAndPrintJob(JobConf conf, RunningJob job) throws IOException, int erruptedException
リアルタイムと処理中のタスクのジョブと標準出力をモニター
Parameters:
ジョブ構成
追跡するジョブ
Returns:
ジョブ成功時にtrue
Throws:
IOException - if communication to the JobTracker fails
InterruptedException

setTaskOutputFilter
publicvoid setTaskOutputFilter(JobClient.TaskStatusFilter newValue)
非推奨
出力とフィルターが一致するときのみタスクフィルターを設定
Parameters:
タスクフィルター

getTaskOutputFilter
public static JobClient.TaskStatusFilter getTaskOutputFilter(JobConf job)
タスクが出力するJobConfのフィルターを取得
Parameters:
検査するJobConf
Returns:
フィルターレベル

setTaskOutputFilter
public staticvoid setTaskOutputFilter(JobConf job, JobClient.TaskStatusFilter newValue)
JobConfを編集しタスクの出力フィルターを設定
Parameters:
編集するJobConf
設定する値

getTaskOutputFilter
public JobClient.TaskStatusFilter getTaskOutputFilter()
非推奨
Returns:
タスクフィルター

run
publicint run(String[] argv) throws Exception
インターフェースからコピーされた説明: Tool
引数からコマンドを実行
Specified by:
run in interface Tool
Parameters:
コマンドで指定する引数
Returns:
実行コード
Throws:
Exception

getDefaultMaps
publicint getDefaultMaps() throws IOException
クラスターのMapsの最大可能情報を取得
Returns:
クラスターのMapsの最大可能情報
Throws:
IOException

getDefaultReduces
publicint getDefaultReduces() throws IOException
クラスターのReducesの最大可能情報を取得
Returns:
クラスターのReducesの最大可能情報
Throws:
IOException

getSystemDir
public Path getSystemDir()
ジョブ指定ファイルが置かれるジョブトラッカーのシステムディレクトリパスを取得
Returns:
ジョブ指定ファイルが置かれるジョブトラッカーのシステムディレクトリ

getQueues
public JobQueueInfo[] getQueues() throws IOException
特定の Job Queueの関連キュー情報の取得
Returns:
JobQueueInfo オブジェクトの配列
Throws:
IOException

getJobsFromQueue
public JobStatus[] getJobsFromQueue(String queueName) throws IOException
すべてのジョブに追加された特定のJob Queueを取得
Parameters:
ジョブのキューネーム
Returns:
ジョブキュー内のあるジョブの配列
Throws:
IOException

getQueueInfo
public JobQueueInfo getQueueInfo(String queueName) throws IOException
特定の Job Queueの関連キュー情報の取得
Parameters:
ジョブのキューネーム
Returns:
関連するキュー情報
Throws:
IOException

getQueueAclsForCurrentUser
public QueueAclsInfo[] getQueueAclsForCurrentUser() throws IOException
現在のユーザーのACLキューの取得
Returns:
現在のユーザーのACLキューの配列
Throws:
IOException

getDelegationToken
public Token<DelegationTokenIdentifier> getDelegationToken(Text renewer) throws IOException, int erruptedException
Throws:
IOException
InterruptedException

renewDelegationToken
public long renewDelegationToken(Token<DelegationTokenIdentifier> token) throws SecretManager.InvalidToken, IOException, int erruptedException
トークンの更新
Parameters:
更新するトークン
Returns:
新しい有効期間
Throws:
SecretManager.InvalidToken
IOException
InterruptedException

cancelDelegationToken
publicvoid cancelDelegationToken(Token<DelegationTokenIdentifier> token) throws IOException, int erruptedException
JobTrackerのトークンのキャンセル
Parameters:
トークン
Throws:
IOException
InterruptedException

main
public staticvoid main(String[] argv) throws Exception
Throws:
Exception

原文:
Class JobClient (Hadoop 0.20.205.0 API)

不備や気づいた点ありましたらコメントいただけると助かります。

About the author
  • コメントを残す