Spark Submit 実行構成
Spark(英語) プラグインを使用すると、 Spark クラスター(英語)上でアプリケーションを実行できます。 IntelliJ IDEA は、Spark の bin ディレクトリで spark-submit(英語) スクリプトを実行するための実行 / デバッグ構成を提供します。 アプリケーションはローカルで実行することも、SSH 構成を使用して実行することもできます。
Spark プラグインをインストールする
この機能は、インストールして有効にする必要がある Spark(英語) プラグインに依存しています。
Ctrl+Alt+S を押して設定を開き、 を選択します。
Marketplace タブを開き、 Spark プラグインを見つけて、 インストール をクリックします (プロンプトが表示されたら、IDE を再起動します)。
Spark Submit 構成でアプリケーションを実行する
に移動します。 または、 Alt+Shift+F10 を押してから 0 を押します。
新規構成の追加 ボタン(
)をクリックして、 を選択します。
実行構成名を入力します。
リモートターゲット リストで、次のいずれかを実行します。
AWS EMR クラスターに接続している場合は、そこにアプリケーションをアップロードできます。
SSH 構成がある場合は、それを使用してアプリケーションをカスタムリモートサーバーに送信できます。
それ以外の場合は、 EMR 接続の追加 または SSH 接続の追加 をクリックします。
アプリケーションは フィールドで、アプリケーションファイルを取得する方法を選択します。
「
」をクリックして、Gradle タスクとアーティファクトを選択します。
「
」をクリックして IDEA アーティファクトを選択します。
または、
をクリックして、ローカルマシンから JAR または ZIP ファイルをアップロードします。
「クラス 」フィールドに、アプリケーションのメインクラスの名前を入力します。

オプションのパラメーターを指定することもできます。
実行引数: アプリケーションを実行するための引数。
Spark の設定 で、次のように設定します。
クラスターマネージャー: クラスター上でアプリケーションを実行するための管理方法を選択します。 SparkContext は、いくつかのタイプのクラスターマネージャー (Spark 独自のスタンドアロンクラスターマネージャー、Mesos、YARN のいずれか) に接続できます。 詳細については、 クラスターモードの概要(英語)を参照してください。
デプロイモード: クラスターまたはクライアント。
アップロード先ディレクトリ: 実行可能ファイルをアップロードするためのリモートホスト上のディレクトリ。
Spark ホーム: Spark インストールディレクトリへのパス。
構成: key=value 形式の任意の Spark 構成プロパティ。
Properties file: Spark プロパティを持つファイルへのパス。
Spark デバッグ (Java および Scala アプリケーションで使用可能):
デバッグエージェントで Spark ドライバーを起動する: この実行 / デバッグ構成を起動するときに、JDWP エージェントを起動します。 これにより、アプリケーションの実行後にデバッガーに接続できるようになります。 オプションを無効にすると、この構成のデバッグモードが無効になります。
リスニングポート: サーバー上のデバッガーポートを指定します。 空のままにしておくと、実行時に使用可能なポートが動的に割り当てられます。
ドライバーを停止: デバッガーが接続されるまで、Spark ドライバープロセスを一時停止します (
suspend=yJDWP エージェントオプション)。 デバッグモードでのみ適用されます。 実行モードでは、常にsuspend=nが使用されます。
依存関係 で、アプリケーションの実行に必要なファイルとアーカイブ (jar) を選択します。
Maven で、Maven 固有の依存関係を選択します。 リポジトリを追加したり、実行コンテキストから一部のパッケージを除外したりできます。
ドライバー で、ドライバープロセスに使用するメモリ量などの Spark ドライバー設定を選択します。 クラスターモードの場合は、コア数を指定することも可能です。
実行者 で、メモリの量やコアの数などのエグゼキュータ設定を選択します。
Kerberos: Kerberos との安全な接続を確立するための設定。
シェルオプション: Spark サブミットの前にスクリプトを実行する場合に選択します。
bash へのパスを入力し、実行するスクリプトを指定します。 スクリプトへの絶対パスを指定することをお勧めします。
スクリプトをインタラクティブモードで起動する場合は、 対話式 チェックボックスを選択します。
USER=jetbrainsなどの環境変数を指定することもできます。詳細な送信オプション:
プロキシユーザー: Spark 接続にプロキシを使用できるようになっているユーザー名。
ドライバー Java オプション、 ドライバーライブラリパス、 ドライバークラスパス: ドライバーオプションを追加します。 詳細については、「ランタイム環境(英語) 」を参照してください。
アーカイブ: 各エグゼキュータの作業ディレクトリに抽出されるアーカイブのコンマ区切りのリスト。
追加のデバッグ出力を出力する:
--verboseオプションを指定して spark-submit を実行し、デバッグ情報を出力します。
OK をクリックして構成を保存します。 次に、作成した構成のリストから構成を選択し、
をクリックします。

実行 ツールウィンドウで実行結果を確認します。
この実行構成を使用して実行結果を監視する方法の例については、 クラスター上で Spark アプリケーションを作成して実行する も参照してください。