
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create Vertex AI Platform Notebooks instance and clone course repo
/ 10
Setup the data environment
/ 15
Create a custom Dataflow Flex Template container image
/ 15
Create and stage the flex template
/ 10
Execute the template from the UI and using gcloud commands
/ 20
このラボの内容:
前提条件:
コマンドライン パラメータを受け入れるパイプラインは、ハードコードしたパラメータを使うパイプラインよりもはるかに便利です。しかし、そのようなパイプラインを実行するには、開発環境を作成する必要があります。さまざまなユーザーによる再実行や、多種多様なコンテキストでの再実行が想定されるパイプラインには、さらに便利な選択肢があります。それは、Dataflow テンプレートを使うことです。
Google Cloud Platform には、すでに作成された多数の Dataflow テンプレートがあります。詳細については、Google 提供のテンプレートを使ってみるでご確認いただけます。なお、その中にこのラボのパイプラインと同じ動作をするテンプレートはありません。しかし、ラボのこのパートで、パイプラインを(従来のカスタム テンプレートではなく)新しいカスタム Dataflow Flex テンプレートに変換できます。
パイプラインをカスタム Dataflow Flex テンプレートに変換するには、コードと依存関係をパッケージ化する Docker コンテナ、ビルド対象のコードを記述する Dockerfile、実際のジョブの作成のためにランタイムに実行する基盤のコンテナをビルドする Cloud Build、ジョブ パラメータを記述するメタデータ ファイルを使用する必要があります。
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
Qwiklabs にシークレット ウィンドウでログインします。
ラボのアクセス時間(例: 1:15:00
)に注意し、時間内に完了できるようにしてください。
一時停止機能はありません。必要な場合はやり直せますが、最初からになります。
準備ができたら、[ラボを開始] をクリックします。
ラボの認証情報(ユーザー名とパスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。
[Google Console を開く] をクリックします。
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。
利用規約に同意し、再設定用のリソースページをスキップします。
Google Cloud で作業を開始する前に、Identity and Access Management(IAM)内で適切な権限がプロジェクトに付与されていることを確認する必要があります。
Google Cloud コンソールのナビゲーション メニュー()で、[IAM と管理] > [IAM] を選択します。
Compute Engine のデフォルトのサービス アカウント {project-number}-compute@developer.gserviceaccount.com
が存在し、編集者
のロールが割り当てられていることを確認します。アカウントの接頭辞はプロジェクト番号で、ナビゲーション メニュー > [Cloud の概要] > [ダッシュボード] から確認できます。
編集者
のロールがない場合は、以下の手順に沿って必要なロールを割り当てます。729328892908
)をコピーします。{project-number}
はプロジェクト番号に置き換えてください。このラボでは、すべてのコマンドをノートブックのターミナルで実行します。
Google Cloud コンソールのナビゲーション メニューで、[Vertex AI] > [Workbench] をクリックします。
[Notebooks API を有効にする] をクリックします。
[Workbench] ページで [ユーザー管理のノートブック] を選択し、[新規作成] をクリックします。
表示された [新しいインスタンス] ダイアログ ボックスで、リージョンを
[環境] で [Apache Beam] を選択します。
ダイアログ ボックスの下部にある [作成] をクリックします。
このラボで使用するコード リポジトリをダウンロードします。
ノートブック環境の左側パネルのファイル ブラウザに、training-data-analyst リポジトリが追加されます。
クローン リポジトリ /training-data-analyst/quests/dataflow_python/
に移動します。ラボごとに、1 つのフォルダが表示されます。このフォルダはさらに、完成させるコードが格納される lab
サブフォルダと、ヒントが必要な場合に完全に機能するサンプルを参照できる solution
サブフォルダとに分けられています。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは、分岐パイプラインラボ(solution フォルダ)の既存のパイプライン コードを活用します。
実際のパイプライン コードの編集を開始する前に、必要な依存関係がインストールされていることを確認する必要があります。
training-data-analyst/quests/dataflow_python/2_Branching_Pipelines/solution/
にあるソリューション ファイルを使用して my_pipeline.py
を更新します。[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
pip3 freeze
を使用して、環境で使用されているパッケージとそのバージョンを記録します。次に、Dockerfile を作成します。これにより、使用する必要があるコードおよび依存関係を指定します。
a. このタスクを完了するには、IDE のファイル エクスプローラにある dataflow_python/2_Branching_Pipelines/lab
フォルダに新しいファイルを作成します。
b. 新しいファイルを作成するには、[ファイル] >> [新規] >> [テキスト ファイル] の順にクリックします。
c. ファイル名を Dockerfile
に変更します。ファイル名を右クリックすると変更できます。
d. 編集パネルで Dockerfile
ファイルを開きます。ファイルをクリックして開きます。
e. 下のコードを Dockerfile
ファイルにコピーして保存します。
コンテナをビルドして push するには数分かかります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
テンプレートを実行するには、SDK 情報やメタデータなど、ジョブの実行に必要なすべての情報を含むテンプレート仕様ファイルを Cloud Storage に作成する必要があります。
a. IDE のファイル エクスプローラにある dataflow_python/2_Branching_Pipelines/lab
フォルダに新しいファイルを作成します。
b. 新しいファイルを作成するには、[ファイル] >> [新規] >> [テキスト ファイル] の順にクリックします。
c. ファイル名を metadata.json
に変更します。ファイル名を右クリックすると変更できます。
d. 編集パネルで metadata.json
ファイルを開きます。ファイルを開くには、metadata.json
ファイルを右クリックし、[アプリで開く] >> [エディタ] の順に選択します。
e. このタスクを完了するには、パイプラインで予期されるすべての入力パラメータを考慮した次の形式で、metadata.json
ファイルを作成する必要があります。必要な場合は、ソリューションを参照してください。独自の正規表現チェックを記述する必要があります。おすすめの方法ではありませんが、".*"
はあらゆる入力に一致します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクを完了するには、以下の指示に従います。
Google Cloud コンソールの Cloud Dataflow ページに移動します。
[テンプレートからジョブを作成] をクリックします。
[ジョブ名] フィールドに有効なジョブ名を入力します。
[Dataflow テンプレート] プルダウン メニューから [カスタム テンプレート] を選択します。
テンプレートの Cloud Storage パスのフィールドに、テンプレート ファイルへの Cloud Storage パスを入力します。
[必須パラメータ] に適切な項目を入力します。
a. [入力ファイルのパス] に、
b. [出力ファイルの場所] に、
c. [BigQuery 出力テーブル] に、
[ジョブを実行] をクリックします。
Dataflow テンプレートを使用する利点の一つは、開発環境以外の幅広いコンテキストから実行できることです。それを確認するために、gcloud を使用してコマンドラインから Dataflow テンプレートを実行します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください