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