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 にアップロードされたデータファイルを操作できます。Cloud Storage コネクタは Dataproc クラスタにプリインストールされているため、ノートブックでファイルを直接参照できます。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 Notebook を作成します。

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

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

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