データ パイプラインの作成

このクイックスタートでは、次の方法について説明します。

  1. Cloud Data Fusion インスタンスを作成します。
  2. Cloud Data Fusion インスタンスで提供されているサンプル パイプラインをデプロイします。このパイプラインは次の処理を行います。
    1. NYT ベストセラー データを含む JSON ファイルを Cloud Storage から読み取る
    2. ファイルに対し変換を実施して、データの解析とクリーニングを行う。
    3. 先週追加された高評価の書籍で $25 未満のものを BigQuery に読み込む。

始める前に

データ パイプラインを作成する前に、次の手順を完了します。

プロジェクトを設定する

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Enable the Cloud Data Fusion API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Cloud Data Fusion API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

必要なロール

Cloud Data Fusion インスタンスを作成してパイプラインを管理するために必要な権限を取得するには、プロジェクトに対する Cloud Data Fusion 管理者 roles/datafusion.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Compute Engine のデフォルト サービス アカウントに Managed Service for Apache Spark ジョブを実行するために必要な権限を付与するには、プロジェクトに対する次の IAM ロールを Compute Engine のデフォルト サービス アカウントに付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

管理者は、カスタムロールや他の事前定義ロールを使用して、Compute Engine のデフォルト サービス アカウントに必要な権限を付与することもできます。

Cloud Data Fusion インスタンスを作成する

  1. [インスタンスを作成] をクリックします。

    [インスタンス] に移動する

  2. [インスタンス名] を入力します。
  3. インスタンスの [説明] を入力します。
  4. インスタンスを作成する [リージョン] を入力します。
  5. 使用する Cloud Data Fusion の [バージョン] を選択します。
  6. Cloud Data Fusion のエディションを選択します。
  7. Cloud Data Fusion バージョン 6.2.3 以降の場合は、[承認] フィールドで、Managed Service for Apache Spark の Cloud Data Fusion パイプラインを実行するために使用する Managed Service for Apache Spark サービス アカウントを選択します。デフォルト値の [Compute Engine アカウント] があらかじめ選択されています。
  8. [作成] をクリックします。インスタンスの作成プロセスが完了するまで 30 分ほどかかります。Cloud Data Fusion がインスタンスを作成している間 [インスタンス] ページのインスタンス名の横に進捗状況が表示されます。完了すると緑色のチェックマークに変わり、インスタンスの使用を開始できることが示されます。

Cloud Data Fusion を使用する際は、 Google Cloud コンソールと個別の Cloud Data Fusion ウェブ インターフェースの両方を使用します。

  • Google Cloud コンソールで、次の操作を行うことができます。

    • Google Cloud コンソール プロジェクトを作成する
    • Cloud Data Fusion インスタンスを作成して削除する
    • Cloud Data Fusion インスタンスの詳細を表示する
  • Cloud Data Fusion ウェブ インターフェースでは、StudioWrangler などのさまざまなページを使用して Cloud Data Fusion の機能を使用できます。

Cloud Data Fusion インターフェースを操作するには、次の手順に従います。

  1. Google Cloud コンソールで、[インスタンス] ページを開きます。

    [インスタンス] に移動する

  2. インスタンスの [操作] 列で、[インスタンスの表示] リンクをクリックします。
  3. Cloud Data Fusion ウェブ インターフェースで、左側のナビゲーション パネルを使用して必要なページに移動します。

サンプル パイプラインをデプロイする

サンプル パイプラインは Cloud Data Fusion Hub を使用して入手できます。このサンプル パイプラインにより、再利用可能な Cloud Data Fusion パイプライン、プラグイン、ソリューションを共有できます。

  1. Cloud Data Fusion ウェブ インターフェースで、[Hub] をクリックします。
  2. 左側のパネルで [Pipelines] をクリックします。
  3. [Cloud Data Fusion Quickstart] パイプラインをクリックします。
  4. [作成] をクリックします。
  5. Cloud Data Fusion Quickstart 構成パネルで、[Finish] をクリックします。
  6. [Customize Pipeline] をクリックします。

    パイプラインの視覚的な表現が [Studio] ページに表示されます。これは、データ統合パイプライン開発用のグラフィカル インターフェースです。左側に使用可能なパイプライン プラグインが表示され、メインのキャンバス領域にパイプラインが表示されます。パイプラインの各ノードの上にポインタを重ねて、[プロパティ] をクリックすると、パイプラインを調べられます。各ノードのプロパティ メニューを使用して、そのノードに関連付けられているオブジェクトや操作を表示できます。

  7. 右上のメニューで [Deploy] をクリックします。この手順により、パイプラインが Cloud Data Fusion に送信されます。このクイックスタートの次のセクションでパイプラインを実行します。

パイプラインをデプロイする

パイプラインを表示する

デプロイされたパイプラインがパイプラインの詳細ビューに表示されます。このビューでは、次の操作を行うことができます。

  • パイプラインの構造と構成を表示する。
  • 手動でパイプラインを実行するか、スケジュールやトリガーを設定する。
  • 実行時間、ログ、指標など、パイプラインの実行履歴の概要を表示する。

サービス アカウントをコピーする

パイプラインを実行する

パイプラインの詳細ビューで [Run] をクリックしてパイプラインを実行します。

パイプラインを実行する

パイプラインを実行するときに、Cloud Data Fusion は次の処理を行います。

  1. エフェメラル Managed Service for Apache Spark クラスタをプロビジョニングする
  2. Apache Spark を使用してクラスタ上でパイプラインを実行します
  3. クラスタを削除します。

結果を見る

数分後、パイプラインが完了します。パイプラインのステータスが Succeeded に変わり、各ノードで処理されたレコード数が表示されます。

パイプラインの実行が完了

  1. BigQuery ウェブ インターフェースに移動します。
  2. 結果のサンプルを表示するには、プロジェクトの DataFusionQuickstart データセットに移動して top_rated_inexpensive テーブルをクリックし、単純なクエリを実行します。次に例を示します。

    SELECT * FROM PROJECT_ID.GCPQuickStart.top_rated_inexpensive LIMIT 10
    

    PROJECT_ID は、実際のプロジェクト ID に置き換えます。

結果を表示

クリーンアップ

このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。

  1. このクイックスタートでパイプラインが書き込んだ BigQuery データセットを削除します。
  2. Cloud Data Fusion インスタンスを削除します。

  3. 省略可: プロジェクトを削除します。

  1. Google Cloud コンソールで [リソースの管理] ページに移動します。

    [リソースの管理] に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ