Load the data

進行状況を確認

/ 25

Add Cloud Data Fusion API Service Agent role to service account

進行状況を確認

/ 25

Deploy and execute batch pipeline

進行状況を確認

/ 25

View the results

進行状況を確認

/ 25

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。

GSP807

Google Cloud セルフペース ラボのロゴ

概要

ETL は、Extract(抽出)、Transform(変換)、Load(読み込み)の略語です。このコンセプトは、EL、ELT、ELTL などと表現される場合もあります。

このラボでは、Cloud Data Fusion の Pipeline Studio を使用して ETL パイプラインを構築する方法を学びます。Pipeline Studio に表示される構成要素と組み込みのプラグインを使用して、バッチ パイプラインをノード単位で構築します。また、Wrangler プラグインを使用して変換を構築し、パイプラインを通過するデータに適用します。

ETL アプリケーションで最もよく使用されるデータソースは、カンマ区切り値(CSV)形式のテキスト ファイルに保存されたデータです。これは、多くのデータベース システムにおいてこの形式でデータのエクスポートやインポートが行われるためです。このラボでは CSV ファイルを使用しますが、データベース ソースやその他の任意のデータソースに対しても、ここで使用する手法を適用できます。

出力は BigQuery テーブルに書き込まれます。また、このターゲット データセットを対象としたデータ分析には標準 SQL を使用します。

目標

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

  • Cloud Data Fusion の Pipeline Studio でバッチ パイプラインを作成する。
  • Wrangler を使用してデータをインタラクティブに変換する。
  • 出力を BigQuery に書き込む。

設定と要件

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

  1. シークレット ウィンドウを使用して Google Skills にログインします。

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

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

    注: [ラボを開始] をクリックしてから、ラボが必要なリソースをプロビジョニングして Data Fusion インスタンスを作成するまで 15~20 分ほどかかります。 その間、ラボの目標を理解するために以下のステップをご確認ください。

    左側のパネルにラボの認証情報(ユーザー名パスワード)が表示されたら、インスタンスの作成が完了したため、コンソールへのログインに進めるようになります。
  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud コンソールにログインする際に使用します。

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

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

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

注: ラボを完了した場合と最初からやり直す場合以外は、[ラボを終了] をクリックしないでください。クリックすると、作業内容とプロジェクトが削除されます。

ラボを開始して 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 リソースにアクセスできます。gcloud は Google Cloud のコマンドライン ツールで、Cloud Shell にプリインストールされており、Tab キーによる入力補完がサポートされています。

  1. Google Cloud Console のナビゲーション パネルで、「Cloud Shell をアクティブにする」アイコン(Cloud Shell アイコン)をクリックします。

  2. [次へ] をクリックします。
    環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続の際に認証も行われ、プロジェクトは現在のプロジェクト ID に設定されます。次に例を示します。

Cloud Shell ターミナル

サンプル コマンド

  • 有効なアカウント名前を一覧表示する:

gcloud auth list

(出力)

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

(出力例)

Credentialed accounts: - google1623327_student@qwiklabs.net
  • プロジェクト ID を一覧表示する:

gcloud config list project

(出力)

[core] project = <プロジェクト ID>

(出力例)

[core] project = qwiklabs-gcp-44776a13dea667a6

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

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

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

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

デフォルトのコンピューティング サービス アカウント

アカウントが IAM に存在しない場合やアカウントに編集者のロールがない場合は、以下の手順に沿って必要なロールを割り当てます。

  1. Google Cloud コンソールのナビゲーション メニューで、[Cloud の概要] をクリックします。

  2. [プロジェクト情報] カードからプロジェクト番号をコピーします。

  3. ナビゲーション メニューで、[IAM と管理] > [IAM] をクリックします。

  4. IAM ページの上部にある [追加] をクリックします。

  5. 新しいプリンシパルの場合は、次のように入力します。

{project-number}-compute@developer.gserviceaccount.com

{project-number} はプロジェクト番号に置き換えてください。

  1. [ロールを選択] で、[基本](または [Project])> [編集者] を選択します。

  2. [保存] をクリックします。

タスク 1. データを読み込む

このタスクでは、プロジェクトに Cloud Storage バケットを作成し、CSV ファイルをステージングします。Cloud Data Fusion はこの Storage バケットからデータを読み取ることになります。

  1. Cloud Shell コンソールで次のコマンドを実行します。これにより、新しいバケットが作成され、関連するデータがそこにコピーされます。
export BUCKET=$GOOGLE_CLOUD_PROJECT gcloud storage buckets create gs://$BUCKET

作成されるバケットの名前には、現在のプロジェクト ID が使用されます。

  1. 次のコマンドを実行して、データファイル(CSV ファイルと XML ファイル)をバケットにコピーします。
gsutil cp gs://cloud-training/OCBL163/titanic.csv gs://$BUCKET

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 データを読み込む

タスク 2. Cloud Data Fusion インスタンスに必要な権限を追加する

このタスクでは、Cloud Data Fusion インスタンスに関連付けられたサービス アカウントに、必要な IAM ロールを付与します。

  1. Google Cloud コンソールのナビゲーション メニューで、[すべてのプロダクトを表示] をクリックし、[アナリティクス] カテゴリから [Data Fusion] > [インスタンス] を選択します。Cloud Data Fusion インスタンスがすでにセットアップされて使用できる状態になっているはずです。
: インスタンスの作成には 10 分ほどかかります。完了するまでお待ちください。
  1. Google Cloud コンソールのナビゲーション メニューで、[IAM と管理] > [IAM] をクリックします。

  2. Compute Engine のデフォルトのサービス アカウント {プロジェクト番号}-compute@developer.gserviceaccount.com を見つけ、そのサービス アカウントをクリップボードにコピーします。

  3. [IAM 権限] ページで、[+アクセスを許可] をクリックします。

  4. [新しいプリンシパル] フィールドに、サービス アカウントを貼り付けます。

  5. [ロールを選択] で、「Cloud Data Fusion API サービス エージェント」と入力し、そのロールを選択します。

  6. [+ 別のロールを追加] をクリックします。

  7. [ロールを選択] で、[Managed Service for Spark 管理者] ロールを選択します。

  8. [Save] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Cloud Data Fusion API サービス エージェントのロールをサービス アカウントに追加する

サービス アカウントにユーザー権限を付与する

  1. コンソールのナビゲーション メニューで、[IAM と管理] > [IAM] をクリックします。

  2. [Google 提供のロール付与を含める] チェックボックスをオンにします。

  3. リストを下にスクロールして、Google が管理する service-{project-number}@gcp-sa-datafusion.iam.gserviceaccount.com という表示形式の Cloud Data Fusion サービス アカウントを探し、サービス アカウント名をクリップボードにコピーします。

Google が管理する Cloud Data Fusion サービス アカウントのリスト

  1. 次に、[IAM と管理] > [サービス アカウント] に移動します。

  2. {project-number}-compute@developer.gserviceaccount.com という表示形式のデフォルトの Compute Engine アカウントをクリックし、上部のナビゲーション メニューの [アクセス権を持つプリンシパル] タブを選択します。

  3. [アクセスを許可] ボタンをクリックします。

  4. [新しいプリンシパル] フィールドに、前の手順でコピーしたサービスアカウントを貼り付けます。

  5. [ロール] プルダウン メニューで、[サービス アカウント ユーザー] を選択します。

  6. [保存] をクリックします。

タスク 3. バッチ パイプラインを構築する

このタスクでは、Cloud Data Fusion の Wrangler コンポーネントを使用して、元データを準備してクリーニングします。この反復プロセスにより、リアルタイム変換を実現できます。

  1. Google Cloud コンソールのナビゲーション メニューで、[Data Fusion] > [インスタンス] をクリックします。

  2. インスタンスの [インスタンスを表示] をクリックします。プロンプトが表示されたら、ラボの認証情報を使用してログインします。ツアーを開始するダイアログが表示された場合は、[No, Thanks] をクリックします。

  3. Cloud Data Fusion UI で、ナビゲーション メニューの [Wrangler] をクリックします。

  4. 左側のパネルで、[(GCS) Google Cloud Storage] をクリックし、[Cloud Storage Default] を選択します。

  5. プロジェクト ID に対応するバケットをクリックします。

  6. titanic.csv をクリックします。

    Cloud Data Fusion の Cloud Storage バケット「titanic1」

  7. [Parsing Options] ダイアログ ボックスで、[Format] に [text] を選択し、[Confirm] をクリックします。

[Parsing Options] ダイアログ

データが Wrangler の画面に読み込まれます。これで、データ変換を繰り返し適用できるようになりました。

  1. 元の CSV データを表形式で解析するには、[body] 列見出しの横にある矢印をクリックし、[解析] を選択して、[CSV] を選択します。

    Google Cloud Storage の [Parse] > [CSV] メニューの選択

  2. [Parse as CSV] ダイアログ ボックスで、[Set first row as header] チェックボックスをオンにして、[Apply] をクリックします。

    [Parse as CSV] ダイアログ

注: [Set first row as header] チェックボックスの横に表示される非推奨の警告は無視してかまいません。
  1. この段階で元データが解析され、この操作によって生成された列が表示されます([body] 列の右側の列)。右端には、すべての列名がリスト表示されます。

Cloud Data Fusion の Wrangler UI

  1. 元データの列を削除するには、[body] 列見出しの横にある矢印をクリックし、[Delete column] をクリックします。

[Delete column] メニューの選択

注: 変換を適用するときに、コマンドライン インターフェース(CLI)を使用することもできます。CLI は画面下部にある黒いバーです(その中の緑色の $ はプロンプトです)。コマンドの入力を開始すると自動入力機能が起動して、一致するオプションが表示されます。たとえば、[body] 列を削除するために、ディレクティブ drop: body を使用することもできます。

CLI の [body] 列を削除するための構文

  1. Wrangler UI の右側にある [Transformation steps] タブをクリックして、現在のレシピを表示します。

titanic.csv の「drop :body」列

注: 画面右側の [Transformation steps] タブに表示されるディレクティブは、メニュー項目を選択した場合も、CLI を使用した場合も作成されます。ディレクティブは個別の変換であり、複数が集まって 1 つの「レシピ」と呼ばれます。

このラボでは、2 つの変換(レシピ)で問題なく ETL パイプラインを作成できます。次のステップでは、このレシピをパイプライン構築ステップに組み込みます。このレシピは ETL の「T」の役割を果たします。

  1. [Create a Pipeline] ボタンをクリックして次のセクションに進み、パイプラインを作成します。ここで、ETL パイプラインがどのように構成されるかを確認できます。

    [Create a Pipeline] ボタン

  2. 次に表示されるダイアログで、[Batch pipeline] を選択して続行します。

[Batch pipeline] の選択

注: バッチ パイプラインは、インタラクティブに実行することも、5 分に 1 回や 1 年に 1 回など、任意の頻度で実行するようにスケジュール設定することもできます。

タスク 4. BigQuery シンクを構成する

パイプライン構築の残りのタスクは Pipeline Studio で行います。Pipeline Studio は、データ パイプラインを視覚的に構成できる UI です。このツールには ETL パイプラインの主要な構成要素が表示されます。

この時点で、パイプラインに 2 つのノードが表示されています。1 つは Google Cloud Storage から CSV ファイルを読み取る GCS File プラグイン、もう 1 つは複数の変換から構成されるレシピが含まれる Wrangler プラグインです。

注: パイプラインのノードは、順番に接続されて有向非巡回グラフを生成するオブジェクトです。たとえば、ソース、シンク、変換、アクションなどがあります。

これらの 2 つのプラグイン(ノード)は、ETL パイプラインの「E」と「T」を表しています。このパイプラインを完成させるには、ETL の「L」となる BigQuery シンクを追加します。

パイプラインのアーキテクチャ図

  1. BigQuery シンクをパイプラインに追加するには、左側のパネルの [Sink] セクションに移動し、[BigQuery] アイコンをクリックしてキャンバス上に配置します。

[Sink] セクションの BigQuery

  1. BigQuery シンクがキャンバスに配置されたら、Wrangler ノードと BigQuery ノードを接続します。そうするには、以下の図に示すように Wrangler ノードの矢印を BigQuery ノードまでドラッグして接続します。あとは、必要なデータセットにデータを書き込めるように、いくつかの構成オプションを指定するだけです。

    Wrangler ノードと BigQuery ノードの接続

タスク 5. パイプラインを構成する

次に、パイプラインを構成します。これを行うには、各ノードのプロパティを開いて設定を確認し、必要に応じて変更を加えます。

  1. GCS ノードにカーソルを合わせると、[Properties] ボタンが表示されます。このボタンをクリックして、構成設定を開きます。

GCS ノードの [Properties] ダイアログ

各プラグインには、必ず存在しなければならない必須フィールドがいくつかあり、該当するフィールドにはアスタリスク(*)が付いています。使用するプラグインに応じて、左側に [Input Schema]、中央に [Configuration] セクション、右側に [Output Schema] が表示されます。

シンク プラグインには出力スキーマがなく、ソース プラグインには入力スキーマがありません。また、シンクとソースの両方のプラグインに、リネージのデータソース / シンクを識別するための必須フィールド [Reference Name] があります。

各プラグインに [Label] フィールドがあります。これは、パイプラインが表示されるキャンバスで確認できるノードのラベルです。

  1. [Properties] ボックスの右上にある [X] をクリックして閉じます。

  2. 次に、Wrangler ノードにカーソルを合わせ、[Properties] をクリックします。

Wrangler ノードの [Properties] ダイアログ

注: Wrangler のようなプラグインには入力スキーマがあります。これらのフィールドは、プラグインに渡されて処理されます。プラグインで処理された後、出力データは出力スキーマでパイプラインの次のノードに送信されるか、シンクの場合はデータセットに書き込まれます。
  1. [Properties] ボックスの右上にある [X] をクリックして閉じます。

  2. BigQuery ノードにカーソルを合わせて [Properties] をクリックし、次の構成設定値を入力します。

    • [Reference Name] に「Titanic_BQ」と入力します。

    • [Dataset] に「demo」と入力します。

    • [Table] に「titanic」と入力します。

  3. [Properties] ボックスの右上にある [X] をクリックして閉じます。

[BigQuery Properties] ダイアログ

タスク 6. パイプラインをテストする

あとは、パイプラインをテストして、想定どおりに動作することを確認するだけです。その前に、作業内容が失われないように、ドラフトに名前を付けて保存してください。

  1. 右上のメニューで [Save] をクリックします。パイプラインの名前を入力し、説明を追加するよう求められます。

    • パイプラインの名前として「ETL-batch-pipeline」を入力します。
    • 説明として「ETL pipeline to parse CSV, transform and write output to BigQuery」と入力します。
  2. [保存] をクリックします。

  3. パイプラインをテストするために、[Preview] アイコンをクリックします。ボタンバーに [Run] アイコンが表示されます。このアイコンをクリックすると、パイプラインをプレビュー モードで実行できます。

  4. [Run] アイコンをクリックします。パイプラインがプレビュー モードで実行されている間は、データが実際に BigQuery テーブルに書き込まれることはありませんが、データが正しく読み取られていることと、パイプラインがデプロイされたときにデータが想定どおりに書き込まれることを確認できます。[Preview] ボタンは切り替え式です。プレビュー モードを終了するときは、もう一度クリックしてください。

    パイプラインの実行準備中

  5. パイプラインの実行が完了したら、Wrangler ノードにカーソルを合わせて [Properties] をクリックします。続けて、[Preview] タブをクリックします。正常に処理されていれば、入力された元データが左側のノードに、出力された解析済みレコードが右側のノードに表示されます。[Properties] ボックスの右上にある [X] をクリックして閉じます。

Wrangler ノードの出力

注: データを操作する各ノードで、同様の出力が表示されます。これは、パイプラインをデプロイする前に、作業の方向性が正しいことを証明できる効果的な方法です。エラーが発生した場合も、ドラフトモードであれば簡単に修正できます。
  1. [Preview] アイコンをもう一度クリックして、プレビュー モードをオフにします。

  2. ここまで問題がなければ、パイプラインのデプロイに進みます。右上の [Deploy] アイコン(デプロイ アイコン)をクリックして、パイプラインをデプロイします。

パイプラインがデプロイされていることを示す確認ダイアログが表示されます。

パイプラインのデプロイの確認

  1. パイプラインが正常にデプロイされたら、ETL パイプラインを実行して BigQuery にデータを読み込むことができます。

  2. [Run] アイコンをクリックして ETL ジョブを実行します。

  3. 完了すると、パイプラインのステータスが [Succeeded] に変わり、パイプラインが問題なく実行されたことがわかります。

    Cloud Data Fusion のパイプラインの実行が成功

  4. パイプラインでデータが処理されると、パイプラインの各ノードから、処理されたレコード数を示す指標が出力されます。 解析オペレーションでは 892 件のレコードが表示されますが、ソースには 893 件のレコードがありました。これは、解析オペレーションで最初の行が列見出しの設定に使用されたことにより、残りの 892 件のレコードが処理対象となったためです。

パイプラインの CSV 解析図

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 バッチ パイプラインをデプロイして実行する

タスク 7. 結果を見る

パイプラインは出力を BigQuery テーブルに書き込みます。次の手順で、この点を確認できます。

  1. 新しいタブで Cloud コンソールの BigQuery UI を開くか、コンソールのタブを右クリックして [タブを複製] を選択し、ナビゲーション メニューを使用して [BigQuery] を選択します。メッセージが表示されたら、[完了] をクリックします。

  2. 左側のペインの [従来のエクスプローラ] セクションで、プロジェクト IDqwiklabs で始まる ID)をクリックします。

  3. プロジェクト内の demo データセットで、titanic テーブルをクリックし、[+](SQL クエリ)をクリックして、次のような簡単なクエリを実行します。

SELECT * FROM `demo.titanic` LIMIT 10

クエリ結果

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 結果を見る

お疲れさまでした

ここでは、Cloud Data Fusion の Pipeline Studio に表示される構成要素を使用してバッチ パイプラインを構築する方法を学びました。また、Wrangler を使用してデータの変換ステップを作成する方法も学びました。

次のラボを受講する

Cloud Data Fusion で Wrangler を使用してデータ変換を作成し、データを準備する」に進んでください。

マニュアルの最終更新日: 2026 年 1 月 27 日

ラボの最終テスト日: 2026 年 1 月 27 日

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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

ラボを開始するには、この簡単な手順を完了してください。