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 コンポーネント ゲートウェイの有効化が必要です。
Console
- コンポーネントを有効にします。
- Google Cloud コンソールで、Dataproc の [クラスタの作成] ページを開きます。[クラスターを設定] パネルが選択されています。
- [コンポーネント] セクションで次の設定を行います。
- [オプション コンポーネント] で [Jupyter] コンポーネントを選択します。
- [コンポーネント ゲートウェイ] で [コンポーネント ゲートウェイを有効にする] を選択します(コンポーネント ゲートウェイの URL を表示してアクセスするをご覧ください)。
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 によりインストールできます。
clusters.create
リクエストの一部として EndpointConfig.enableHttpPortAccess プロパティをtrue
に設定して、コンポーネント ゲートウェイを使用して Jupyter ノートブック ウェブ UI への接続を有効にします。
Jupyter と JupyterLab の UI を開く
Google Cloud コンソール コンポーネント ゲートウェイのリンクをクリックして、クラスタのマスターノードで実行されている Jupyter ノートブックと JupyterLab UI をローカルブラウザで開きます。
[GCS] または [ローカル ディスク] を選択して、いずれかの場所に新しい Jupyter Notebook を作成します。
マスターノードとワーカーノードに GPU を接続する
Jupyter ノートブックを使用する際、クラスタのマスターノードとワーカーノードに GPU を追加できます。
- Spark でデータを前処理して、DataFrame をマスターに集め、TensorFlow を実行する
- Spark を使用して TensorFlow の実行を並列にオーケストレートする
- Tensorflow-on-YARN を実行する
- GPU を使用するその他の機械学習シナリオで使用する