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

Jupyter のオプション コンポーネントを使用すると、Managed Service for Apache Spark クラスタでインタラクティブなデータ分析ノートブックを実行できます。このコンポーネントは、JupyterLab ウェブ UI をサポートするウェブベースのシングルユーザー Jupyter ノートブック環境を提供します。

マルチユーザー ノートブックの代替

複数のユーザーにノートブックを提供するには、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 コンポーネント ゲートウェイを有効にする必要があります。

Google Cloud コンソール

  1. Google Cloud コンソールで、[クラスタの作成] ページを開きます。
  2. [追加構成] をクリックして、そのセクションを開きます。
  3. [オプション コンポーネント] を編集します。
  4. 表示されたパネルで、[Jupyter Notebook] のチェックボックスをオンにして、[保存] をクリックします。

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 を使用して Dataproc 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 を使用するその他の機械学習シナリオで使用する