Dataproc Hub を使用して、単一ユーザーの Dataproc クラスタ上で JupyterLab UI を開きます。
目標
Dataproc Hub を使用して、単一ユーザーの Dataproc クラスタ上で実行する JupyterLab ノートブック環境を作成する。
ノートブックを作成し、Dataproc クラスタ上で Spark ジョブを実行する。
クラスタを削除し、ノートブックを Cloud Storage に保存する。
始める前に
- 管理者から
notebooks.instances.use
権限が付与されている必要があります(Identity and Access Management(IAM)のロールを設定するをご覧ください)。
Dataproc クラスタ上で JupyterLab ノートブック UI を開く
Dataproc Hub UI を開きます。
- Cloud Console にアクセスできる場合、Cloud Console の Dataproc - Notebooks インスタンス で、管理者が作成した Dataproc Hub インスタンスが一覧表示される行の [JupyterLab を開く] をクリックします。
- Cloud Console にアクセスできない場合、ウェブブラウザから、管理者と共有する Dataproc Hub インスタンス URL を入力します。
- Cloud Console にアクセスできる場合、Cloud Console の Dataproc - Notebooks インスタンス で、管理者が作成した Dataproc Hub インスタンスが一覧表示される行の [JupyterLab を開く] をクリックします。
[Jupyterhub] ページで、クラスタ構成とゾーンを選択します。有効にする場合は、カスタマイズを指定してから、[開始] をクリックします。
クラスタの作成には数分かかります。クラスタが作成されると、Dataproc クラスタ上で実行されている JupyterLab UI にリダイレクトされます。
ノートブックを作成して Spark ジョブを実行する
JupyterLab UI の左側のパネルで、[
GCS
] または [local
] をクリックします。PySpark ノートブックを作成します。
PySpark カーネルは(
sc
変数を使用して)SparkContext を初期化します。SparkContext を調べて、ノートブックから Spark ジョブを実行できます。rdd = (sc.parallelize(['lorem', 'ipsum', 'dolor', 'sit', 'amet', 'lorem']) .map(lambda word: (word, 1)) .reduceByKey(lambda a, b: a + b)) print(rdd.collect())
ノートブックに名前を付けて保存します。ノートブックは保存され、Dataproc クラスタの削除後も Cloud Storage に残ります。
Dataproc クラスタをシャットダウンする
JupyterLab UI から [ファイル] > [Hnb コントロール パネル] を選択して、Dataproc Hub UI を開きます。
[Stop My Server] をクリックして、Jupyter サーバーをシャットダウン(削除)し、Dataproc クラスタを削除します。
次のステップ
- GitHub で Dataproc の Spark と Jupyter ノートブックを調べる。