ユーザー クラス パスを Hadoop クラス パスの前に使用する方法を示す例を数多く見てきました。多くの場合、これは m/r ジョブが特定のバージョンのライブラリを必要とする場合に行われますが、Hadoop は偶然にも以前のバージョンのライブラリ (たとえば、jackson の json パーサーや commons http など) を使用しています。
いずれにせよ:私は見た:
mapreduce.task.classpath.user.precedence
mapreduce.task.classpath.first
mapreduce.job.user.classpath.first
マッパーとリデューサーに、hadoop のデフォルトの依存関係の jar の前にユーザー定義の jar を配置するクラスパスを強制するために、これらのパラメーターのどれをジョブ構成に設定するのが適切ですか?hadoop_classpath
ところで、これはこの質問に関連しています: 最近見つけたDynamodb requestHandler の受け入れは、jar の競合によるものです。