Maven を使用して、サイズが大きくアップロードに時間がかかる Spark プログラム jar パッケージをコンパイルするための完璧なソリューションです。

質問

Maven を使用して Spark プログラム パッケージをコンパイルすると、
ここに画像の説明を挿入します
jar パッケージの作成に最大 3 分かかる、
ここに画像の説明を挿入します
jar パッケージのサイズが 200 MB を超える、依存関係が多い場合は、次のような状況が発生することがあります。しかも
ここに画像の説明を挿入します
会社は仏教系なので、ネット上ではお茶を飲みながら人生や理想を語ることしかできません。

解決

これを解決するには次の手順を使用できます。

  1. HDFS にディレクトリを作成し、プログラムが依存する jar パッケージをキャッシュします。このディレクトリ内のファイルが正常に読み取れるように、ここでのアクセス許可の問題に注意してください。

hadoop fs -mkdir /user/spark/spark-libs

  1. すべての Spark 関連の jar パッケージと開発に使用される可能性のある jar パッケージをこのディレクトリにアップロードします。これは、jar が統合済みの CDH です。Apache 版の場合は、各 Hadoop コンポーネントのインストール ディレクトリにアップロードできます. このディレクトリに関連する jar パッケージ

hadoop fs -put -f /opt/cloudera/parcels/CDH-5.13.2-1.cdh5.13.2.p0.3/jars/* /user/spark/spark-libs

  1. Spark jar HDFS パスを構成します。Apache バージョンの場合は、spark-defalults.conf 設定を変更します:
    spark.yarn.jars=hdfs://dn15:9000/user/spark/spark-libs/
    配布構成。CDH バージョンの場合、次の構成を変更します。
    ここに画像の説明を挿入します
  2. pom.xml ファイルを変更し、指定された属性をすべての依存関係に追加します。
    ここに画像の説明を挿入します
  3. 次のコマンド ライン メソッドを使用して、すばやくパッケージ化します。Maven 環境変数を構成する必要があります。クリックして完了することもできます。
    ここに画像の説明を挿入します

最終結果

ここに画像の説明を挿入します
パッケージ化時間は 43 秒、
ここに画像の説明を挿入します
jar パッケージのサイズは 275KB です。アップロード時間は言うまでもなく、

注記:

  1. その後、新しい依存関係を導入するには、対応する jar パッケージを /user/spark/spark-libs にアップロードする必要があります。アップロードしないと、対応する jar パッケージが見つかりません。
  2. パッケージ化にsbtを使用することもできます
  3. いいねを忘れずに

おすすめ

転載: blog.csdn.net/qq_42264264/article/details/103494905
おすすめ