arrow_back

Dataflow: Qwik Start - Python

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

Dataflow: Qwik Start - Python

ラボ 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP207

Google Cloud セルフペース ラボ

概要

Apache Beam SDK は、データ パイプライン用のオープンソースのプログラミング モデルです。Google Cloud では、Apache Beam プログラムを使用してパイプラインを定義し、Dataflow を使用してパイプラインを実行できます。

このラボでは、(Apache Beam SDK for Python を使用して)Dataflow 用の Python 開発環境をセットアップし、サンプルの Dataflow パイプラインを実行します。

演習内容

このラボでは、次の方法について学びます。

  • Dataflow パイプラインの結果を保存するための Cloud Storage バケットを作成する
  • Apache Beam SDK for Python をインストールする
  • Dataflow パイプラインをリモートで実行する

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでも [ユーザー名] を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでも [パスワード] を確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

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

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

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

リージョンを設定する

  • Cloud Shell で次のコマンドを実行して、このラボのプロジェクト リージョンを設定します。
gcloud config set compute/region {{{project_0.default_region | "REGION"}}}

Dataflow API が有効になっていることを確認する

必要な API にアクセスできることを確認するには、Dataflow API への接続をリセットします。

  1. Cloud コンソールの上部の検索バーに「Dataflow API」と入力します。検索結果の「Dataflow API」をクリックします。

  2. [管理] をクリックします。

  3. [API を無効にする] をクリックします。

確認を求められたら、[無効にする] をクリックします。

  1. [有効にする] をクリックします。

API が再度有効になると、ページに無効にするオプションが表示されます。

タスク 1. Cloud Storage バケットを作成する

Dataflow を使用してパイプラインを実行すると、結果が Cloud Storage バケットに保存されます。このタスクでは、後のタスクで実行するパイプラインの結果を保存するための Cloud Storage バケットを作成します。

  1. ナビゲーション メニューナビゲーション メニュー アイコン)で、[Cloud Storage] > [バケット] をクリックします。
  2. [バケットを作成] をクリックします。
  3. [バケットの作成] ダイアログ内で、以下の属性を指定します。
  • 名前: バケット名を一意にするには、-bucket という名前を使用します。バケットの名前空間はグローバルであり、一般公開されるため、バケット名に機密情報を含めないでください。
  • ロケーション タイプ: Multi-region
  • ロケーション: us
  • バケットデータが保存されるロケーション。
  1. [作成] をクリックします。

  2. [公開アクセスの防止] というメッセージが表示されたら、[確認] をクリックします。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。

Cloud Storage バケットを作成する

タスク 2. Apache Beam SDK for Python をインストールする

  1. サポートされている Python バージョンを使用していることを確認するために、まず Python3.9 Docker イメージを実行します。
docker run -it -e DEVSHELL_PROJECT_ID=$DEVSHELL_PROJECT_ID python:3.9 /bin/bash

このコマンドによって、Docker コンテナと Python 3.9 の最新の安定バージョンが pull され、コマンドシェルが開き、コンテナ内で次のコマンドが実行されます。

  1. コンテナが実行された後、仮想環境から次のコマンドを実行して、最新バージョンの Apache Beam SDK for Python をインストールします。
pip install 'apache-beam[gcp]'==2.42.0

依存関係に関連する警告がいくつか表示されます。このラボでは、それらの警告は無視しても問題ありません。

  1. 次のコマンドを実行して、サンプルの wordcount.py をローカルで実行します。
python -m apache_beam.examples.wordcount --output OUTPUT_FILE

次のようなメッセージが表示される場合があります。

INFO:root:Missing pipeline option (runner). Executing pipeline using the default runner: DirectRunner. INFO:oauth2client.client:Attempting refresh to obtain initial access_token

このメッセージは無視しても問題ありません。

  1. これで、ローカル クラウド環境にあるファイルを一覧表示し、OUTPUT_FILE の名前を取得できます。
ls
  1. OUTPUT_FILE の名前をコピーし、cat でその内容を表示します。
cat <ファイル名>

結果として、ファイル内の各単語とその出現回数が表示されます。

タスク 3. サンプルの Dataflow パイプラインをリモートで実行する

  1. 環境変数 BUCKET に、作成したバケットを設定します。
BUCKET=gs://<先ほど指定したバケット名>
  1. サンプルの wordcount.py をリモートで実行してみましょう。
python -m apache_beam.examples.wordcount --project $DEVSHELL_PROJECT_ID \ --runner DataflowRunner \ --staging_location $BUCKET/staging \ --temp_location $BUCKET/temp \ --output $BUCKET/results/output \ --region {{{project_0.default_region | "filled in at lab start"}}}

出力に次のメッセージが表示されるまで待ちます。

JOB_MESSAGE_DETAILED: Workers have started successfully.

ラボの手順を続行します。

タスク 4. Dataflowジョブが完了したことを確認する

  1. ナビゲーション メニューを開き、サービスの一覧から [Dataflow] をクリックします。

最初は、wordcount ジョブの [ステータス] が [実行中] と表示されているはずです。

  1. 名前をクリックして処理状況を確認します。すべてのチェックボックスをオフにすると、Cloud Shell のログを引き続き監視できます。

ステータスが [完了] になったら処理が完了しています。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。

サンプルのパイプラインをリモートで実行する
  1. Cloud コンソールで、ナビゲーション メニュー > [Cloud Storage] の順にクリックします。

  2. バケットの名前をクリックします。バケットに results および staging ディレクトリがあることを確認できます。

  3. results フォルダをクリックすると、ジョブで作成された出力ファイルを確認できます。

  4. ファイルをクリックして、中に記載されている単語数を確認します。

タスク 5. 理解度チェック

今回のラボで学習した内容の理解を深めていただくために、以下の多岐選択問題を用意しました。正解を目指して頑張ってください。

お疲れさまでした

(Apache Beam SDK for Python を使用して)Dataflow 用の Python 開発環境をセットアップする方法を学習し、サンプルの Dataflow パイプラインを実行しました。

次のステップと詳細情報

このラボは Qwik Start と呼ばれるラボシリーズの一部です。これらのラボでは、Google Cloud で利用できる多くの機能を体験できます。Google Cloud Skills Boost カタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。

このラボの基になった書籍『Data Science on the Google Cloud Platform(O'Reilly Media, Inc)』を入手することもできます。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 2 月 4 日

ラボの最終テスト日: 2023 年 5 月 4 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

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

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

ありがとうございます。

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