Managed Service for Apache Spark のオプションの Jupyter コンポーネント

Managed Service for Apache Spark クラスタを作成する際には、オプション コンポーネント機能を使用して、Jupyter などの追加コンポーネントをインストールできます。このページでは Jupyter コンポーネントについて説明します。

Jupyter コンポーネントは、インタラクティブなデータ分析を行うためのウェブベースのシングルユーザー ノートブックで、JupyterLab ウェブ UI をサポートしています。Jupyter のウェブ UI は、クラスタの最初のマスターノードのポート 8123 で利用できます。

複数のユーザー用のノートブックを起動する。Managed Service for Apache Spark が有効になっている Vertex AI Workbench インスタンスを作成するか、VM に Managed Service for Apache Spark JupyterLab プラグインをインストールして、複数のユーザーにノートブックを提供できます。

Jupyter を構成する。Jupyter を構成するには、dataproc:jupyter クラスタ プロパティを指定します。保護されていないノートブック サーバー API を介したリモートコード実行のリスクを軽減するため、デフォルトの dataproc:jupyter.listen.all.interfaces クラスタのプロパティ設定は false となっています。この設定は、コンポーネント ゲートウェイが有効となっているときに、localhost (127.0.0.1) の接続を制限します(Jupyter コンポーネントのインストール時にコンポーネント ゲートウェイを有効化する必要があります)。

Jupyter ノートブックには、Spark コードを実行する Python カーネルと、PySpark カーネルが用意されています。デフォルトでは、ノートブックは Managed Service for Apache Spark ステージング バケット内の Cloud Storage に保存されます。保存先バケットは、クラスタの作成時にユーザーが指定するか、指定がなければ自動作成されます。この場所は、クラスタの作成時に dataproc:jupyter.notebook.gcs.dir プロパティを使用して変更できます。

データファイルを操作する。Jupyter ノートブックを使用すると、Cloud Storage にアップロードされたデータファイルを操作できます。Managed Service for Apache Spark クラスタには Cloud Storage コネクタがプリインストールされているため、ノートブック内からファイルを直接参照できます。次の例では、Cloud Storage 内の CSV ファイルにアクセスします。

df = spark.read.csv("gs://bucket/path/file.csv")
df.show()

PySpark の例については、汎用の読み込み関数と保存関数をご覧ください。

Jupyter をインストールする

Managed Service for Apache Spark クラスタを作成するときにコンポーネントをインストールします。Jupyter コンポーネントを使用するには、Managed Service for Apache Spark コンポーネント ゲートウェイを有効にする必要があります。

コンソール

  1. コンポーネントを有効にします。
    • Google Cloud コンソールで、Managed Service for Apache Spark の [クラスタの作成] ページを開きます。[クラスタの設定] パネルが選択されています。
    • [コンポーネント] セクションで次の設定を行います。

gcloud CLI

Jupyter コンポーネントを含む Managed Service for Apache Spark クラスタを作成するには、--optional-components フラグを指定した gcloud dataproc clusters create cluster-name コマンドを使用します。

最新のデフォルト イメージ バージョンの例

次の例では、最新のデフォルト イメージ バージョンを使用するクラスタに Jupyter コンポーネントをインストールします。

gcloud dataproc clusters create cluster-name \
    --optional-components=JUPYTER \
    --region=region \
    --enable-component-gateway \
    ... other flags

REST API

Jupyter コンポーネントは、clusters.create リクエストの一部として SoftwareConfig.Component を使用して Managed Service for Apache Spark API によりインストールできます。

Jupyter と JupyterLab の UI を開く

Google Cloud コンソール コンポーネント ゲートウェイのリンクをクリックして、クラスタのマスターノードで実行されている Jupyter ノートブックと JupyterLab UI をローカル ブラウザで開きます。

[GCS] または [ローカル ディスク] を選択して、いずれかの場所に新しい Jupyter ノートブックを作成します。

マスターノードとワーカーノードに GPU を接続する

Jupyter ノートブックを使用する際、クラスタのマスターノードとワーカーノードに GPU を追加できます。

  1. Spark でデータを前処理して、DataFrame をマスターに集め、TensorFlow を実行します。
  2. Spark を使用して TensorFlow の実行を並列にオーケストレートします。
  3. Tensorflow-on-YARN を実行します。
  4. GPU を使用する他の ML シナリオで使用します。