私はいくつかの依存関係を必要とするSparkプログラムを持っています。Sparkプログラムのバージョン競合のための最善の解決策
1つの依存関係:a.jarはクラスタa_2.8.jar
のバージョン2.8ですが、バージョン2.9,a_2.9.jar
を使用する必要があります。
プログラムを起動するたびに、a_2.9.jar
の代わりに、sparkが自動的にa_2.8.jarをロードします。--jars a_2.9.jar
でこのjarファイルを送信しました。
spark.executor.userClassPathFirst
の設定を試しましたが、別の問題があります。 "b.jar
"のような "秘密の" jarファイルが、私のuserClassPathにあります。これはクラスタでは動作しません。多くの依存関係があるので、どのjarが動作しないのか分かりません。
要約すると:
私は、クラスタのデフォルトのクラスパスを使用している場合は、a.jar
が競合します。
userClassPathFirst
を使用すると、b.jar
は競合します。 (私はb.jarが分からない)
私は誰かが私に助言してくれることを願っています。仕事を最小限に抑えるために、ここでは最高の解決策は何ですか?あなたのパッケージマネージャか、使用したい他のツールとの依存関係ツリーを取得
: