Dataproc の Jupyter オプション コンポーネント

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

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

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

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

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

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

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

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

Jupyter をインストールする

Dataproc クラスタの作成時にコンポーネントをインストールします。Jupyter コンポーネントを使用するには、Dataproc コンポーネント ゲートウェイを有効にする必要があります。

コンソール

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

gcloud CLI

Jupyter コンポーネントを含む Dataproc クラスタを作成するには、--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 を使用する他の ML シナリオで使用します。