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. Spring Cloud DataFlow - タスク実行後に実行IDを取得
- 2. アンドロイドで現在実行中のタスクを殺す方法
- 3. タスクの再試行
- 4. Hadoop投機的タスクの実行
- 5. Chapelで現在のタスクIDを取得しますか?
- 6. Django Celery retry()タスク現在のタスクを続行します
- 7. どのように現在実行中のタスクをアンドロイドで殺す
- 8. Androidで実行中のタスクと実行中のプロセスの違い
- 9. 現在のスレッドでScalaZタスクを実行するには
- 10. 非同期タスクを実行中のANR
- 11. のAndroidで実行中のタスク
- 12. インタフェースは、長い実行中のタスク
- 13. ループ実行中のタスク(saas、cssmin)
- 14. タスク自体の中でhangfire定期ジョブのタスクIDを取得する
- 15. タスク実行時のタスクの停止
- 16. 実行Gradleのタスク
- 17. 現在実行中のメソッドの名前を取得
- 18. cProfileの実行中に現在のモジュールを取得する
- 19. 現在実行中のストアドプロシージャのスキーマ名を取得
- 20. 現在実行中のアクティビティのインスタンスを取得しますか?
- 21. PostgreSQLで現在実行中のクエリのパラメータを取得
- 22. 現在実行中のアプリケーションのナビゲーション履歴を取得する
- 23. エフェクトの実行中に現在のターゲット値を取得
- 24. 現在実行中のパッケージを取得するandroid
- 25. 現在実行中のアプリケーションインスタンスでClickOnceクエリパラメータを取得
- 26. 現在実行中のプロセスを取得する
- 27. 弾性検索:現在実行中のスナップショット操作を取得
- 28. 現在ビッグコマースのカートID取得中
- 29. セロリで再試行するコールバックのタスク
- 30. 非同期タスクの試行/キャッチ