インタラクティブ セッションとランタイム プロファイルを作成する

このドキュメントでは、Managed Service for Apache Spark のインタラクティブ セッションとランタイム プロファイルを作成する方法について説明します。これらは、Google Cloud CLI と Dataproc API ではセッション テンプレートと呼ばれます。ランタイム プロファイルは、コンピューティング ティアやエグゼキュータ構成など、サーバーレス Spark ランタイム設定の再利用可能なセットです。これを使用して、インタラクティブなノートブックとセッションを作成できます。

インタラクティブ セッションを作成する

Google Cloud CLI または Managed Service for Apache Spark API を使用して、Managed Service for Apache Spark インタラクティブ セッションを作成できます。

gcloud

gcloud beta dataproc sessions create spark SESSION_ID コマンドを使用して、Managed Service for Apache Spark のインタラクティブ セッションを作成できます。

gcloud beta dataproc sessions create spark SESSION_ID \
    --location=REGION \
    optional flags ...

以下を置き換えるか、追加します。

REST

Managed Service for Apache Spark の sessions.create API メソッドを使用して、Managed Service for Apache Spark のインタラクティブ セッションを作成できます。次のリクエスト フィールドを構成します。

ランタイム プロファイルの作成

Managed Service for Apache Spark ランタイム プロファイル(セッション テンプレートとも呼ばれます)は、Managed Service for Apache Spark インタラクティブ セッションを作成するための再利用可能な構成設定を定義します。ランタイム プロファイルを作成するには、 Google Cloud コンソール、gcloud CLI、または Managed Service for Apache Spark API を使用します。gcloud CLI と Dataproc API では、ランタイム プロファイルは session templates と呼ばれます。

コンソール

Google Cloud コンソールを使用して Managed Service for Apache Spark ランタイム プロファイルを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、[ランタイム プロファイル] ページに移動します。

    [ランタイム プロファイル] に移動

  2. [作成] をクリックします。

  3. [ランタイム プロファイルの作成] ページで、次の主要な設定を構成します。

    • 表示名: 必須。ランタイム プロファイルの表示名を入力するか、事前入力された生成済みの名前をそのまま使用します。表示名には少なくとも 1 つの英字または数字を含める必要があります。また、Spark Connect を含むすべてのセッション タイプの最上位の表示名として保存されます。[ランタイム プロファイル名] はリソース ID であり、表示名から自動的に取得されます。文字は小文字に変換され、無効な文字はハイフンに変換されます。これは、フィールドの下にヒントとして表示されます。表示名とは別にリソース ID をカスタマイズするには、[追加構成] を開き、[ランタイム構成] を編集します。

    • リージョン: 必須。このランタイム プロファイルを使用するセッションに使用可能な Compute Engine リージョンを選択します。デフォルトのリージョンは us-east4(以前は us-central1)で、リストにはリージョンの説明が表示されます。

    • 説明: 省略可。ランタイム プロファイルを識別するのに役立つ説明を入力します。

    • ティア: ワークロード実行用の Managed Service for Apache Spark ティアを選択します。

      • プレミアム: デフォルト。アクセラレーション エンジンにより、複雑なクエリやレイテンシに敏感なクエリを最適化し、ハイメモリと GPU アクセラレーション エグゼキュータ シェイプをサポートします。[プレミアム] を選択すると、[Lightning Engine を有効にしてパフォーマンスを向上させる] チェックボックスが表示され、デフォルトで選択されます。これにより、Lightning Engine を使用して Spark ジョブが高速化され、spark.dataproc.engine=lightningEngine が設定されます。

      • Standard: 日常的なデータ処理向けのスタンダードな Spark 実行環境を提供します。インタラクティブ セッションは常にプレミアム ティアで実行されます。[スタンダード] を選択すると、バッチ実行にのみ影響します。[標準] を選択すると、Lightning Engine がオフになり、マシンシェイプが標準 CPU シェイプ(standard-4、standard-8、standard-16)に制限され、HDD (standard) ディスクが必要になります。プレミアムから標準に切り替えると、ハイメモリまたは GPU シェイプは standard-4 にリセットされ、SSD ディスクは 200 GiB HDD にリセットされます。

    • エグゼキュータの構成: ワークロードを実行する Spark エグゼキュータとドライバのコンピューティング サイズ設定モードとマシンシェイプを選択します。

      • General: デフォルト。一般的な抽出、変換、読み込み(ETL)ワークロードに適した CPU のみのマシンシェイプを提供します。[エグゼキュータ タイプ] リストで、ハイメモリ シェイプ(4 個の vCPU と 32 GB のメモリを備えた highmem-4(デフォルト)、8 個の vCPU と 64 GB のメモリを備えた highmem-8、16 個の vCPU と 128 GB のメモリを備えた highmem-16 など)を選択するか、標準 シェイプ(4 個の vCPU と 16 GB のメモリを備えた standard-4、8 個の vCPU と 32 GB のメモリを備えた standard-8、16 個の vCPU と 64 GB のメモリを備えた standard-16 など)を選択します。ハイメモリ シェイプは、プレミアム ティアでのみ使用できます。

      • 高速化: データ サイエンス、AI、ML のトレーニング ワークロードと推論ワークロードに適した GPU 接続マシンシェイプを提供します。アクセラレーテッド シェイプを選択すると、ティアがプレミアムに、ディスクティアが SSD(プレミアム)に自動的に切り替わり、デフォルトのサイズは 375 GiB になります。[エグゼキュータ タイプ] リストで、4、8、12、16、24、48、または 96 個の vCPU を備えた L4 シェイプを選択するか、A100 40GB (12 vCPU) や A100 80GB (12 vCPU) などの A100 シェイプを選択します。

  4. 省略可: 高度なランタイム、コンピュート、自動スケーリング、metastore、ネットワーク、セキュリティ、ライフサイクル、プロパティの詳細設定をカスタマイズするには、[追加構成] をクリックしてパネルを開きます。カスタマイズするカテゴリの横にある [編集] をクリックし、ペインで設定を構成して、[保存] をクリックします。

    • ランタイム構成: ランタイム識別子、Spark バージョン、コンテナ イメージ、ステージング バケット、Python Package Repository を構成します。

      • ランタイム プロファイル名: 必須。表示名から生成されたリソース ID をそのまま使用するか、カスタム ID を入力します。ID は 4 ~ 63 文字で、英小文字、数字、ハイフンのみを使用できます。先頭と末尾は英小文字または数字にする必要があります。ランタイム プロファイルの作成後に変更することはできません。

      • Spark ランタイム バージョン: 必須。サポートされている Managed Service for Apache Spark ランタイム バージョンを選択します。

      • カスタム Spark イメージ: 省略可。カスタム Java または Python の依存関係を含むカスタム コンテナ イメージの Artifact Registry または Container Registry URI を入力します。

      • ステージング バケット: 省略可。[参照] をクリックして、ワークロードの依存関係、ジョブドライバの出力、構成ファイルを保存する Cloud Storage ステージング バケットを選択または作成します。空のままにすると、Managed Service for Apache Spark がステージング バケットを自動的に管理します(概要では Auto で示されます)。

      • Python Package Repository: 省略可。Python パッケージをインストールするカスタム リポジトリの URI(https://pypi.org/simple など)を入力します。空のままにすると、パッケージは Google が管理する PyPI プルスルー キャッシュ(デフォルトの概要)からインストールされます。

    • エグゼキュータとドライバの構成: コンピューティング ティア、ディスクティア、ディスクサイズ、個別のドライバ構成をカスタマイズします。

      • ティア: [プレミアム](オプションの [Lightning Engine を有効にしてパフォーマンスを高速化する] チェックボックスを含む)または [スタンダード] を選択します。

      • エグゼキュータ タイプ: 一般 High memory または Standard マシンシェイプ、またはアクセラレータ L4 または A100 マシンシェイプを選択します。

      • ディスクティア: HDD (standard) または SSD (premium) を選択します。HDD (standard) は CPU シェイプのデフォルトであり、スタンダード ティアで必要です。SSD (premium) は、シャッフルやスピルが頻繁に発生するワークロードのプレミアム ティアで使用できます。アクセラレーテッド GPU シェイプには必須です。

      • ディスクサイズ: ディスクサイズ(GiB)を選択します。HDD (standard) は、200 GiB~1500 GiB を 100 GiB 単位でサポートします。デフォルトは 200 GiB です。SSD (premium) は 375 GiB、750 GiB、1500 GiB をサポートしています。デフォルトは 375 GiB です。

      • ドライバに別の構成を使用する: 省略可。デフォルトでは、ドライバはエグゼキュータと同じマシンシェイプとディスク構成を使用します。ドライバ マシンタイプ、ドライバ ディスク階層、ドライバ ディスクサイズを個別にカスタマイズするには、このチェックボックスをオンにします。

    • 自動スケーリング: ワークロードの需要に基づいてエグゼキュータをスケーリングするように動的リソース割り当てを構成します。

      • 有効: デフォルトで選択されています。spark.dynamicAllocation.enabled が設定されます。自動スケーリングを無効にするには、このチェックボックスをオフにします。

      • 初期エグゼキュータ数: エグゼキュータの初期数を入力します。これにより、spark.dynamicAllocation.initialExecutors が設定されます。デフォルトは 5 です。有効な値の範囲は、ランタイム バージョン 2.3 以前の場合は 2~2000、ランタイム バージョン 3.0 以降の場合は 0~2000 です。

      • 最小エグゼキュータ数: エグゼキュータの最小数を入力します。これにより、spark.dynamicAllocation.minExecutors が設定されます。デフォルトは、ランタイム バージョン 2.3 以前の場合は 2、ランタイム バージョン 3.0 以降の場合は 0 です。上限は 2000 です。

      • 最大エグゼキュータ数: エグゼキュータの最大数を入力します。これにより、spark.dynamicAllocation.maxExecutors が設定されます。デフォルトは 1000 で、許容される上限は 2000 です。

    • メタストアの構成: データセットのメタデータを管理するメタストアを選択します。

      • Lakehouse ランタイム カタログ: デフォルト。現在のプロジェクトでサーバーレスの Lakehouse ランタイム カタログ カタログを使用します。Iceberg REST エンドポイントはデフォルトで有効になっています。プロジェクト ID を指定し、既存のカタログ ID を選択するか、新しいカタログを定義できます。[Hive エンドポイント] チェックボックスをオンにして、Hive エンドポイントのプロジェクト ID、カタログ ID、カタログ名を指定することもできます。

      • Dataproc Metastore: マネージド Dataproc Metastore Hive Metastore(HMS)インスタンスをアタッチします。[選択したプロジェクト] でプロジェクトを選択し、[Metastore サービス] リストでサービス インスタンスを選択します。

      • なし: このランタイム プロファイルを使用するセッションの metastore 統合を無効にします。

    • ネットワークとセキュリティ: VPC ネットワーキング、実行認証情報、暗号鍵を構成します。

      • クラスタを接続する: [ネットワーク構成] で、 Google Cloud コンソールは、選択したリージョンで適格なネットワークまたはサブネットワークを自動的に選択します。選択したリージョンにデフォルト ネットワークがない場合は、[追加構成] が自動的に開き、デフォルト ネットワークが使用できないという警告が表示されます。この場合、[ネットワークを構成] をクリックして使用可能なサブネットワークを選択するまで、[作成] ボタンは無効のままになります。[このプロジェクトのネットワーク] を選択して、現在のプロジェクトのプライマリ ネットワークとサブネットワークを選択できます。または、[ホスト プロジェクトから共有されたネットワーク] を選択して、共有 VPC サブネットワークを選択します。選択したサブネットワークでプライベート Google アクセス(PGA)を有効にする必要があります。ネットワーク接続の要件については、サブネット接続を開くをご覧ください。オプションのネットワーク タグを入力して、ワークロード VM にファイアウォール ルールとルートを適用することもできます。

      • ノートブックの実行に使用するアカウント: デフォルトの [ユーザー アカウント] を選択して、エンドユーザーの認証情報を使用してノートブックを実行します。または、[サービス アカウント] を選択して、カスタム サービス アカウントでセッションを実行します。[サービス アカウント] を選択した場合は、[サービス アカウント] フィールドでサービス アカウントを指定する必要があります。

      • 暗号化: デフォルトの [Google-owned and Google-managed encryption key] を選択するか、[Cloud KMS 鍵] を選択して、顧客管理の暗号鍵(CMEK)を使用してワークロード データを暗号化します。

    • セッションのライフサイクル: セッションの自動終了の上限を構成します。

      • 最大アイドル時間: 省略可。[最大アイドル時間] に値を入力し、[最大アイドル時間の単位] で seconds、minutes、hours、days のいずれかを選択します。10 分~ 330 時間の範囲で、ノートブック セッションが自動的に終了するまでのアイドル時間を指定します。

      • 最大セッション時間: 省略可。[最大セッション時間の数量] を入力し、[最大セッション時間の単位] を seconds、minutes、hours、days のいずれかで選択します。10 分~ 330 時間の範囲で、セッションの最大存続時間を指定します。

    • その他のカスタマイズ: カスタム Spark プロパティとリソースラベルを追加します。

      • Spark プロパティ: 省略可。[プロパティを追加] をクリックし、カスタム Spark プロパティのキーと値のペアを入力します。フォームの専用フィールドで制御されるプロパティ(コンピューティング ティア、エグゼキュータとドライバのサイズ設定、Lightning Engine、spark.dynamicAllocation.*、Lakehouse カタログ プロパティなど)は、これらのフィールドで管理され、自由形式のリストには表示されません。 Google Cloud コンソールでは、spark: 接頭辞は含めないでください。

      • ラベル: 省略可。[ラベルを追加] をクリックし、[キー] と [値] のペアを入力して、ランタイム プロファイルにラベルを適用します。

  5. ページ右側の [概要] カードで構成の詳細を確認し、[料金の見積もり] カードで Data Compute Unit(DCU)の推定使用量を確認します。DCU 料金の詳細については、Managed Service for Apache Spark の料金をご覧ください。

  6. [作成] をクリックします。

gcloud

gcloud CLI では、ランタイム プロファイルはセッション テンプレートとして管理されます。gcloud CLI の create コマンドを使用して Managed Service for Apache Spark ランタイム プロファイルを直接作成することはできませんが、gcloud beta dataproc session-templates import コマンドを使用して、YAML 構成ファイルからランタイム プロファイルを作成または更新できます。gcloud beta dataproc session-templates export コマンドを使用して、既存のランタイム プロファイルをエクスポートすることもできます。

REST

Managed Service for Apache Spark API では、ランタイム プロファイルは SessionTemplate リソースで表されます。Managed Service for Apache Spark の sessionTemplates.create API メソッドを使用して、Managed Service for Apache Spark ランタイム プロファイルを作成できます。次のリクエスト フィールドを構成します。