0

Spark プロジェクトの新しいコードをインタラクティブに開発するために、SBT コンソールと Spark シェルを使用することの間に重要な違いがあるかどうか疑問に思っています (ノートブックは、サーバー ファイアウォールを使用するオプションではありません)。

  • どちらもプロジェクトの依存関係をインポートできますが、私にとっては SBT の方が少し便利です。SBT は自動的にすべての依存関係を build.sbt に取り込み、spark-shell はコマンド ラインで --jar、--packages、および --repositories 引数を使用できます。
  • SBT には、initialCommands起動時に自動的に行を実行する便利な設定があります。これを使用して、SparkContext を初期化します。

他にもありますか?

4

2 に答える 2

1

私の経験から、sbt は外部 jar を本質的に呼び出し、シェル呼び出しの一連のインポートとコンテキストを本質的にスパークさせます。スパーク送信セッションを構築するときに準拠する必要がある標準に準拠しているため、私はスパークシェルを好みます。

本番環境でコードを実行するには、コードを jar にビルドし、spark submit 経由で呼び出す必要があります。ビルドするには、sbt を介してパッケージ化し (コンパイル チェック)、spark submit submit 呼び出しを実行する (ロジック チェック) 必要があります。

どちらのツールを使用しても開発できますが、sbt (jar を呼び出す) と spark shell (インポートとコンテキストを呼び出す) の利点がないかのようにコーディングする必要があります。

于 2018-08-05T20:20:26.037 に答える