Dataproc Hub の使用


目標

  1. Dataproc Hub を使用して、Dataproc クラスタ上で実行する単一ユーザーの JupyterLab ノートブック環境を作成する。

  2. ノートブックを作成し、Dataproc クラスタ上で Spark ジョブを実行する。

  3. クラスタを削除し、ノートブックを Cloud Storage に保存する。

準備

  1. 管理者から notebooks.instances.use 権限が付与されている必要があります(Identity and Access Management(IAM)のロールを設定するをご覧ください)。

Dataproc Hub から Dataproc JupyterLab クラスタを作成する

  1. Google Cloud コンソールの [Dataproc] → [ワークベンチ] ページで [ユーザー管理ノートブック] タブを選択します。

  2. 管理者が作成した Dataproc Hub インスタンスが一覧表示される行の [JupyterLab を開く] をクリックします。

    1. Google Cloud コンソールへのアクセス権がない場合は、管理者がウェブブラウザで共有している Dataproc Hub インスタンスの URL を入力します。
  3. [Jupyterhub] → [Dataproc オプション] ページで、クラスタ構成とゾーンを選択します。有効にする場合は、カスタマイズを指定して [作成] をクリックします。

    Dataproc クラスタが作成されると、クラスタで実行されている JupyterLab インターフェースにリダイレクトされます。

ノートブックを作成して Spark ジョブを実行する

  1. JupyterLab インターフェースの左パネルで GCS(Cloud Storage)をクリックします。

  2. JupyterLab ランチャーから PySpark ノートブックを作成します。

  3. 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())
    
  4. ノートブックに名前を付けて保存します。ノートブックは保存され、Dataproc クラスタの削除後も Cloud Storage に残ります。

Dataproc クラスタをシャットダウンする

  1. JupyterLab インターフェースから、[ファイル] → [Hub コントロール パネル] を選択して、[Jupyterhub] ページを開きます。

  2. [Stop My Cluster] をクリックして、JupyterLab サーバーをシャットダウン(削除)し、Dataproc クラスタを削除します。

次のステップ