ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

Beam を使用したサーバーレス データ分析: Beam での MapReduce(Python)

ラボ 1時間 30分 universal_currency_alt クレジット: 5 show_chart 上級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

概要

このラボでは、Map オペレーションと Reduce オペレーションの識別、パイプラインの実行、コマンドライン パラメータの使用について学びます。

目的

  • Map オペレーションと Reduce オペレーションを識別する

  • パイプラインを実行する

  • コマンドライン パラメータを使用する

設定

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. Qwiklabs にシークレット ウィンドウでログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
    一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。

  5. [Google Console を開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
    他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

Google Cloud Shell の有効化

Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

    ハイライト表示された Cloud Shell アイコン

  2. [続行] をクリックします。

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。

Cloud Shell ターミナルでハイライト表示されたプロジェクト ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  • 次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list

出力:

Credentialed accounts: - @.com (active)

出力例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project =

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: gcloud ドキュメントの全文については、 gcloud CLI の概要ガイド をご覧ください。

Google Cloud Shell コードエディタを起動する

Google Cloud Shell コードエディタを使用すると、Cloud Shell インスタンス内でディレクトリやファイルを簡単に作成および編集できます。

  • Google Cloud Shell をアクティブにしたら、[エディタを開く] をクリックして Cloud Shell コードエディタを開きます。

[エディタを開く] ボタン

これで次の 3 つのインターフェースを利用できるようになりました。

  • Cloud Shell コードエディタ
  • コンソール(タブをクリックして表示)。タブをクリックすれば、コンソールと Cloud Shell を切り替えることができます。
  • Cloud Shell コマンドライン(コンソールの [ターミナルを開く] をクリックして表示)。

3 つのインターフェース: Cloud Shell コードエディタ、コンソール、ハイライトされた Cloud Shell コマンドライン

プロジェクトの権限を確認する

Google Cloud で作業を開始する前に、Identity and Access Management(IAM)内で適切な権限がプロジェクトに付与されていることを確認する必要があります。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[IAM と管理] > [IAM] を選択します。

  2. Compute Engine のデフォルトのサービス アカウント {project-number}-compute@developer.gserviceaccount.com が存在し、編集者のロールが割り当てられていることを確認します。アカウントの接頭辞はプロジェクト番号で、ナビゲーション メニュー > [Cloud の概要] > [ダッシュボード] から確認できます。

Compute Engine のデフォルトのサービス アカウント名と編集者のステータスがハイライト表示された [権限] タブページ

注: アカウントが IAM に存在しない場合やアカウントに編集者のロールがない場合は、以下の手順に沿って必要なロールを割り当てます。
  1. Google Cloud コンソールのナビゲーション メニューで、[Cloud の概要] > [ダッシュボード] をクリックします。
  2. プロジェクト番号(例: 729328892908)をコピーします。
  3. ナビゲーション メニューで、[IAM と管理] > [IAM] を選択します。
  4. ロールの表の上部で、[プリンシパル別に表示] の下にある [アクセスを許可] をクリックします。
  5. [新しいプリンシパル] に次のように入力します。
{project-number}-compute@developer.gserviceaccount.com
  1. {project-number} はプロジェクト番号に置き換えてください。
  2. [ロール] で、[Project](または [基本])> [編集者] を選択します。
  3. [保存] をクリックします。

タスク 1. ラボの準備

このラボを正常に実行するため、特定の手順を完了する必要があります。

  • Cloud Storage バケットを作成する(ラボ環境の開始時に自動的に完了しています)

  • Cloud Shell に github リポジトリのクローンを作成する

git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  • パッケージをアップグレードし、Apache Beam をインストールする

cd training-data-analyst/courses/data_analysis/lab2/python
sudo ./install_packages.sh

タスク 2. Map オペレーションと Reduce オペレーションを識別する

  1. Cloud Shell コードエディタでディレクトリ /training-data-analyst/courses/data_analysis/lab2/python に移動して、Cloud Shell エディタでファイル is_popular.py を表示します。コードは変更しないでください。

または、nano でファイルを表示することもできます。コードは変更しないでください。

cd ~/training-data-analyst/courses/data_analysis/lab2/python
nano is_popular.py

ファイル is_popular.py に関する次の質問に答えてください。

  • 定義されているカスタム引数は何ですか。

  • デフォルトの出力プレフィックスは何ですか。

  • main() で変数 output_prefix はどのように設定されていますか。

  • --runner などのパイプライン引数はどのように設定されていますか。

  • このパイプラインで重要なステップは何ですか。

  • 並行して実行されるステップはどれですか。

  • 集計ステップはどれですか。

タスク 3. パイプラインを実行する

  1. 次のようにパイプラインをローカルで実行します。

cd ~/training-data-analyst/courses/data_analysis/lab2/python
python3 ./is_popular.py
  1. 出力ファイルを見つけます。output<サフィックス> という分割ファイルです。

ls -al /tmp
  1. 出力ファイルを調べます。「-*」は適切なサフィックスに置き換えてください。

cat /tmp/output-*

タスク 4. コマンドライン パラメータを使用する

  1. 出力プレフィックスをデフォルト値から変更します。

python3 ./is_popular.py --output_prefix=/tmp/myoutput
  1. 書き出される新しいファイルの名前は何ですか。

  2. /tmp ディレクトリに新しいファイルが作成されたことを確認します。

ls -lrt /tmp/myoutput*

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2026 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。