
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Disable and re-enable the Dataflow API
/ 10
Create a Cloud Storage Bucket
/ 10
Copy Files to Your Bucket
/ 10
Create the BigQuery Dataset (name: lake)
/ 20
Build a Data Ingestion Dataflow Pipeline
/ 10
Build a Data Transformation Dataflow Pipeline
/ 10
Build a Data Enrichment Dataflow Pipeline
/ 10
Build a Data lake to Mart Dataflow Pipeline
/ 20
Google Cloud では、次の Google Cloud サービスを使用して、Python コードを実行し、一般公開されているデータセットから BigQuery にデータを取り込んで変換するデータ パイプラインを構築できます。
このラボでは、これらのサービスを使用して、設計上の考慮事項や実装の詳細を含む独自のデータ パイプラインを作成し、プロトタイプが要件を満たしていることを確認します。指示があった場合は、Python ファイルを開き、コメントを読んでください。
このラボでは、次の方法について学びます。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
必要な API にアクセスできることを確認するには、Dataflow API への接続をリセットします。
Cloud コンソールの上部の検索バーに「Dataflow API」と入力します。検索結果の「Dataflow API」をクリックします。
[管理] をクリックします。
[API を無効にする] をクリックします。
確認を求められたら、[無効にする] をクリックします。
API が再度有効になると、ページに無効にするオプションが表示されます。
[進行状況を確認] をクリックして、実行したタスクを確認します。
[進行状況を確認] をクリックして、実行したタスクを確認します。
gsutil
コマンドを使用して、作成した Cloud Storage バケットにファイルをコピーします。[進行状況を確認] をクリックして、実行したタスクを確認します。
lake
というデータセットを作成します。BigQuery で使用するテーブルはすべてここに読み込まれます。[進行状況を確認] をクリックして、実行したタスクを確認します。
このセクションでは、追記専用の Dataflow を作成し、BigQuery テーブルにデータを取り込みます。組み込みのコードエディタを使用すると、Google Cloud コンソールでコードを表示、編集できます。
読み取りに TextIO、書き込みに BigQueryIO を使用して BigQuery にデータを取り込む Dataflow パイプラインを構築します。パイプラインの具体的な処理は以下のとおりです。
コードエディタで、dataflow-python-examples
> dataflow_python_examples
に移動し、data_ingestion.py
ファイルを開きます。コードの機能を説明したファイル内のコメントに目を通します。このコードによって、データセット lake に BigQuery のテーブルが入力されます。
このラボの Dataflow ジョブには Python3.8
が必要です。適切なバージョンで作業するには、Python 3.8 Docker コンテナで Dataflow プロセスを実行します。
このコマンドによって、Docker コンテナと Python 3.8 の最新の安定版が pull され、コマンドシェルが開き、コンテナ内の次のコマンドが実行されます。-v
フラグでソースコードをコンテナの volume
として指定しているため、Cloud Shell エディタで編集できるうえ、実行中のコンテナ内でもアクセスできます。
apache-beam
をインストールします。ジョブの名前をクリックして進行状況を確認します。[ジョブ ステータス] が「完了しました」になったら、次のステップに進みます。この Dataflow パイプラインは、起動して処理が完了し、シャットダウンするまでに約 5 分かかります。
BigQuery(ナビゲーション メニュー > [BigQuery])に移動して、データが入力されていることを確認します。
lake
データセットの usa_names テーブルを表示します。usa_names
データの例を確認します。usa_names
テーブルが表示されない場合は、ページを更新するか、従来の BigQuery UI を使用してテーブルを表示してください。
[進行状況を確認] をクリックして、実行したタスクを確認します。
読み取りに TextIO、書き込みに BigQueryIO を使用して BigQuery にデータを取り込む Dataflow パイプラインを構築します。具体的には以下を行います。
コードエディタで data_transformation.py
ファイルを開きます。コードの機能を説明したファイル内のコメントに目を通します。
クラウドで Dataflow パイプラインを実行します。以下のコマンドを実行すると必要なワーカーがスピンアップされ、完了するとシャットダウンされます。
ナビゲーション メニュー > [Dataflow] に移動して、ジョブの名前をクリックし、ジョブのステータスを確認します。この Dataflow パイプラインは、起動して処理が完了し、シャットダウンするまでに約 5 分かかります。
Dataflow のジョブ ステータス画面で [ジョブ ステータス] が「完了しました」になったら、BigQuery に移動してデータが入力されていることを確認します。
lake
データセットに usa_names_transformed テーブルが表示されます。
そのテーブルをクリックし、[プレビュー] タブに移動して、usa_names_transformed
データの例を確認します。
usa_names_transformed
テーブルが表示されない場合は、ページを更新するか、従来の BigQuery UI を使用してテーブルを表示してください。
[進行状況を確認] をクリックして、実行したタスクを確認します。
読み取りに TextIO、書き込みに BigQueryIO を使用して BigQuery にデータを取り込む Dataflow パイプラインを構築します。具体的には以下を行います。
コードエディタで data_enrichment.py
ファイルを開きます。
コードの機能を説明したコメントを確認します。このコードによって、BigQuery にデータが入力されます。
83 行目は以下のようになっています。
クラウドで Dataflow パイプラインを実行します。
ナビゲーション メニュー > [Dataflow] に移動して、ジョブのステータスを確認します。この Dataflow パイプラインは、起動して処理が完了し、シャットダウンするまでに約 5 分かかります。
Dataflow のジョブ ステータス画面で [ジョブ ステータス] が「完了しました」になったら、BigQuery に移動してデータが入力されていることを確認します。
lake
データセットに usa_names_enriched テーブルが表示されます。
usa_names_enriched
データの例を確認します。usa_names_enriched
テーブルが表示されない場合は、ページを更新するか、従来の BigQuery UI を使用してテーブルを表示してください。
[進行状況を確認] をクリックして、実行したタスクを確認します。
2 つの BigQuery データソースからデータを読み取り、データソースを結合する Dataflow パイプラインを構築します。具体的には以下を行います。
コードエディタで data_lake_to_mart.py
ファイルを開きます。コードの機能を説明したファイル内のコメントに目を通します。このコードによって、2 つのテーブルが結合され、BigQuery に結果のデータが入力されます。
クラウドで Dataflow パイプラインを実行します。
ナビゲーション メニュー > [Dataflow] に移動し、この新しいジョブの名前をクリックしてステータスを確認します。この Dataflow パイプラインは、起動して処理が完了し、シャットダウンするまでに約 5 分かかります。
Dataflow のジョブ ステータス画面で [ジョブ ステータス] が「完了しました」になったら、BigQuery に移動してデータが入力されていることを確認します。
lake
データセットに orders_denormalized_sideinput テーブルが表示されます。
orders_denormalized_sideinput
データの例を確認します。orders_denormalized_sideinput
テーブルが表示されない場合は、ページを更新するか、従来の BigQuery UI を使用してテーブルを表示してください。
[進行状況を確認] をクリックして、実行したタスクを確認します。
今回のラボで学習した内容の理解を深めていただくため、以下の多肢選択問題を用意しました。正解を目指して頑張ってください。
データを BigQuery に取り込んで変換するために、Dataflow を使用して Python コードを実行しました。
さらに情報を探す場合は、以下の公式ドキュメントをご確認ください。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 2 月 11 日
ラボの最終テスト日: 2023 年 10 月 12 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください