HadoopチュートリアルのTask Side-Effect Filesセクションには、タスクの "試行権"を一意の名前として使用すると記載されています。マッパーやレデューサーでこの試行IDを取得するにはどうすればよいですか?現在実行中のHadoopタスクのタスク試行IDを取得
8
A
答えて
11
あなたはHadoopの中副作用ファイルの一意のIDが必要な場合は、このコードの仕事にしようと一意のIDを活用できます。相手に後期
public static String getAttemptId(Configuration conf) throws IllegalArgumentException
{
if (conf == null) {
throw new NullPointerException("conf is null");
}
String taskId = conf.get("mapred.task.id");
if (taskId == null) {
throw new IllegalArgumentException("Configutaion does not contain the property mapred.task.id");
}
String[] parts = taskId.split("_");
if (parts.length != 6 ||
!parts[0].equals("attempt") ||
(!"m".equals(parts[3]) && !"r".equals(parts[3]))) {
throw new IllegalArgumentException("TaskAttemptId string : " + taskId + " is not properly formed");
}
return parts[4] + "-" + parts[5];
}
4
ていますが、TaskAttemptID
を使用することができますクラスを使用してmapred.task.id
プロパティを解析します。
int _attemptID;
@Override
public void configure(JobConf conf) {
TaskAttemptID attempt = TaskAttemptID.forName(conf.get("mapred.task.id"));
_attemptID = attempt.id();
}
9
新しいHadoopのAPIを使用すると:私の場合、私は数字の試行値そのものを望んでいたし、私のマッパーに次のように使用
context.getTaskAttemptID().getTaskID().getId()
関連する問題
- 1. アンドロイドで現在実行中のタスクを殺す方法
- 2. タスクの再試行
- 3. Hadoop投機的タスクの実行
- 4. Django Celery retry()タスク現在のタスクを続行します
- 5. Androidで実行中のタスクと実行中のプロセスの違い
- 6. のAndroidで実行中のタスク
- 7. タスク実行時のタスクの停止
- 8. 実行Gradleのタスク
- 9. PostgreSQLで現在実行中のクエリのパラメータを取得
- 10. 現在実行中のアプリケーションのナビゲーション履歴を取得する
- 11. 現在実行中のメソッドの名前を取得
- 12. 現在実行中のアクティビティのインスタンスを取得しますか?
- 13. エフェクトの実行中に現在のターゲット値を取得
- 14. 現在実行中のストアドプロシージャのスキーマ名を取得
- 15. セロリで再試行するコールバックのタスク
- 16. 非同期タスクの試行/キャッチ
- 17. ブロックアンドロイド戻るボタンAsynタスク実行中
- 18. 長期実行タスクの実行方法
- 19. freebsd:プロセスIDで実行中のプロセスの現在のディレクトリ
- 20. ANT - 現在のタスク名
- 21. スレッドプール:実行中のタスクから子タスクを生成する方法は?
- 22. rakeタスクでcapybaraを実行
- 23. シェルスクリプトからMavenタスクを実行してエラーコードを取得する
- 24. 現在実行中のタスクのパッケージとクラスのリストを私のアンドロイドアプリケーションに表示します
- 25. Gantビルドスクリプティング、実行したいタスクを取得する方法
- 26. タスクを実行してタスクが実行中であることを確認する
- 27. 現在実行中のプロセスのpid
- 28. キャンセルの遅延実行タスクの実装
- 29. 並行してタスクを実行する
- 30. Tomcat Antタスク実行エラー