このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
- Dataproc
- Compute Engine
- Cloud Composer
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
プロジェクトを設定する
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Composer APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Composer APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Dataproc ワークフロー テンプレートの作成
ローカル ターミナルウィンドウまたは Cloud Shell で以下に表示されているコマンドをコピーして実行し、ワークフロー テンプレートを作成して定義します。
sparkpi
ワークフロー テンプレートを作成します。gcloud dataproc workflow-templates create sparkpi \ --region=us-central1
- Spark ジョブを
sparkpi
ワークフロー テンプレートに追加します。「compute」step-id
フラグは、SparkPi ジョブを示します。gcloud dataproc workflow-templates add-job spark \ --workflow-template=sparkpi \ --step-id=compute \ --class=org.apache.spark.examples.SparkPi \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ --region=us-central1 \ -- 1000
- ワークフローを実行するには、マネージドの単一ノードクラスタを使用します。Dataproc によってクラスタが作成され、ワークフローがクラスタ上で実行され、ワークフローの完了時にクラスタが削除されます。
gcloud dataproc workflow-templates set-managed-cluster sparkpi \ --cluster-name=sparkpi \ --single-node \ --region=us-central1
- ワークフロー テンプレートの作成を確認します。
コンソール
Google Cloud コンソールの [Dataproc ワークフロー] ページで
sparkpi
名をクリックし、[ワークフロー テンプレートの詳細] ページを開きます。ワークフロー テンプレートの名前をクリックして、sparkpi
テンプレート属性を確認します。gcloud コマンド
次のコマンドを実行します。
gcloud dataproc workflow-templates describe sparkpi --region=us-central1
DAG を作成して Cloud Storage にアップロードする
- Cloud Composer 環境を作成するか、既存の環境を使用します。
- 環境変数を設定します。
Airflow UI
- ツールバーで、[Admin] > [Variables] をクリックします。
- [作成] をクリックします。
- 次の情報を入力します。
- Key:
project_id
- Val: PROJECT_ID - Google Cloud プロジェクト ID
- Key:
- [保存] をクリックします。
gcloud コマンド
次のコマンドを入力します。
ENVIRONMENT
は、Cloud Composer 環境の名前です。LOCATION
は、Cloud Composer 環境が配置されているリージョンです。PROJECT_ID
は、Cloud Composer 環境を含むプロジェクトのプロジェクト ID です。
gcloud composer environments run ENVIRONMENT --location LOCATION variables set -- project_id PROJECT_ID
- 次の DAG コードを、ローカルで「composer-dataproc-dag.py」という名前のファイルにコピーします。このコードは、DataprocWorkflowTemplateInstantiateOperator を使用します。
Airflow 2
Airflow 1
- Cloud Storage の環境フォルダに DAG をアップロードします。アップロードが正常に完了したら、Cloud Composer 環境のページにある DAG フォルダのリンクをクリックします。
タスクのステータスの表示
Airflow UI
- Airflow ウェブ インターフェースを開きます。
- DAG ページで、DAG 名(例:
dataproc_workflow_dag
)をクリックします。 - DAG の詳細ページで、[Graph View] をクリックします。
- ステータスを確認します。
- Failed: タスクの周囲に赤いボックスが表示されます。 タスクにカーソルを合わせて [State: Failed] を探すこともできます。
- Success: タスクの周囲に緑色のボックスが表示されます。 タスクにカーソルを合わせて [State: Success] を確認することもできます。
Console
[Workflow] タブをクリックして、ワークフローのステータスを確認します。
gcloud コマンド
gcloud dataproc operations list \ --region=us-central1 \ --filter="labels.goog-dataproc-workflow-template-id=sparkpi"
クリーンアップ
Google Cloud アカウントに課金されないようにするには、このチュートリアルで使用したリソースを削除します。