コンテンツに移動
データ分析

IntelliJ IDE 向け Cloud Code プラグインを使用して Dataflow 開発を簡素化

2023年10月26日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 10 月 14 日に、Google Cloud blog に投稿されたものの抄訳です。

開発者向け IDE から直接 Dataflow パイプラインを実行できる機能は、データ エンジニアやデータ サイエンティストが完全な Dataflow パイプラインを構築することを可能にする非常に便利な機能です。IDE で Cloud Dataflow が提供する充実した開発体験により、新規および既存ユーザーにとっての Dataflow パイプラインの開発プロセスがスムーズになり、開発者やデータ エンジニア、データ サイエンティストは Dataflow ストリーミング パイプラインの構築にかかる習得期間や準備期間を短縮できます。

このたび、Dataflow に Cloud Code プラグインが導入され、IntelliJ IDE で次の機能を利用して、非常に簡単に Dataflow パイプラインの作成と実行を行うことができるようになりました。

  • IntelliJ IDE からの Dataflow パイプラインの実行 - 新機能により IntelliJ IDE から直接 Dataflow パイプラインを作成し実行できます。コードを記述するのと同じ環境でパイプラインを開発および実行できるため、パイプラインを迅速に立ち上げることができます。
  • エラーチェックと診断 - Dataflow パイプラインを実行しながら、診断に関わるすべての情報(エラー、警告、情報など)を IntelliJ IDE 内で確認し、対処できます。IntelliJ IDE での作業中に IDE と GCP Web コンソールを切り替える必要がなくなり、時間と労力を節約できるため、Dataflow のデベロッパー エクスペリエンスが向上します。
  • Dataflow パイプラインに関するステップバイステップのオンボーディング(ソース、シンク、権限など)-
    • Dataflow パイプラインのソースとシンクに応じて、Dataflow パイプラインの実行に必要なインフラストラクチャを作成するためのステップバイステップのウィザードが提供されます。
    • Dataflow パイプラインの実行に必要なさまざまなインフラストラクチャ要件を理解するのに役立ちます。
    • これにより、Dataflow をより簡単に使い始めることができます。データ パイプラインの開発と実行に必要なツールも提供されます。
    • また、このリリースでは、データソースとして Pub/Sub、データシンクとして BigQuery を使用する Dataflow パイプラインのステップバイステップのオンボーディングも提供されます。

Cloud Code

Cloud Code は、一般的な IDE 向けの IDE プラグインのセットで、これにより Google Cloud でのアプリケーションの作成、デプロイ、統合が容易になります。Cloud Code は、VSCode、IntelliJ、PyCharm、GoLand、WebStorm、Cloud Shell エディタといった IDE をサポートしています。また、Skaffold を統合することにより、GKE と Cloud Run の開発速度を上げます。

Google Cloud Dataflow

Google Cloud Dataflow は、バッチ(履歴)とストリーム(リアルタイム モード)の両方のデータ処理ニーズに対応するフルマネージド サービスです。また Apache Beam は、有向非巡回グラフ(DAG)を作成するためのオープンソース SDK です。Dataflow は Beam パイプラインを実行し、可能な限り低コストかつ低レイテンシで、データの変換と分析を行います。

スタートガイド

Cloud Code プラグインのインストール

Cloud Code を初めて使用する方は、ここに記載されている手順に沿って、IntelliJ IDE に Cloud Code プラグインをインストールしてください。

Cloud Code を使用していて、すでに Cloud Code プラグインを IntelliJ にインストールされている方は、お使いの Cloud Code が最新バージョンであることを確認してください(この機能は 23.6.2 以降で利用可能です)。

IntelliJ のバージョンは、[Tools] > [Google Cloud Code] > [Help/About] > [About Cloud Code…] で確認できます。

IntelliJ のスタートガイド

このセクションでは、プラグインの設定と使用方法をステップバイステップでご紹介します。

  1. IntelliJ を開き、Dataflow プロジェクトを作成する

IntelliJ を開いていない場合は、IntelliJ IDE を起動します。次の画面が表示されます。すでに IntelliJ IDE を開いている場合は、[File] > [New] > [Project] をクリックすると、次の画面が表示されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_-_Open_IntelliJ_and_Create_Dataflow_Proj.max-1600x1600.png

プロジェクト名と場所を入力します。下部の [Create] をクリックします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_-_Open_IntelliJ_and_Create_Dataflow_Proj.max-1600x1600.png

[New Window] をクリックします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_-_Open_IntelliJ_and_Create_Dataflow_Projec.max-900x900.png

この機能の詳細については、README ファイルを参照してください。

https://storage.googleapis.com/gweb-cloudblog-publish/images/4_-_Open_IntelliJ_and_Create_Dataflow_Proj.max-1900x1900.png

2. Google Cloud Platform にログインし、請求対象のプロジェクトを構成する

1a. メニューから Google Cloud プロジェクトにログインする

メニューから [Tools] -> [Google Cloud Code] -> [Sign in] を選択して Google Cloud Platform にログインします。

1b. Google Cloud SDK を Dataflow パイプラインを作成する GCP プロジェクトに構成する

メニューから [Tools] -> [Google Cloud Code] -> [Tools] -> [Cloud Code Terminal] を選択します。

次のコマンドを実行してください。<Your Google Cloud Project ID> は、リソースをプロビジョニングするための IAM ロールを付与されている Google Cloud プロジェクトです。

gcloud config set project <Your Google Cloud Project ID>

3. 必要なリソースをプロビジョニングする

IntelliJ IDE のワーキング ディレクトリから README.md ファイルを開き、次の画像をクリックします。Dataflow パイプラインの実行に必要なインフラストラクチャ リソースの作成方法に関するステップバイステップのチュートリアルが起動します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/5_-_Provision_required_resources.max-600x600.png

チュートリアルは、Google Cloud コンソールを表示するブラウザ ウィンドウで開きます。インフラストラクチャ リソースを作成する GCP プロジェクトを選択します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/6_-_Provision_required_resources.max-800x800.png

[START] をクリックして、次の手順を踏みます。

  1. 環境を設定する
  2. ネットワークをプロビジョニングする
  3. データソースおよびデータシンク リソースをプロビジョニングする

下部のコマンドをコピーし、Cloud Shell に貼り付けて実行します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/7_-_Provision_required_resources.max-2000x2000.jpg

コマンドが終了するまで待ってから、チュートリアルの次のステップに進んでください。

チュートリアルの最後まで同じ要領で手順を踏み、ネットワーク、データソース、データシンクのリソースをプロビジョニングしてください。

4. gradle.properties ファイルを取得する

前の「必要なリソースをプロビジョニングする」のステップで、gradle.properties ファイルが生成され、お使いのマシンにダウンロードされます。ダウンロードした gradle.properties ファイルをローカルマシンの IDE のワーキング ディレクトリに移動します。

ダウンロードした gradle.properties 構成を <working directory>/gradle/gradle-wrapper.properties にある gradle.wrapper.properties ファイルに追加します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/8_-_Acquire_gradle.properties_file.max-1500x1500.png

5. 対象の IntelliJ 実行構成を選択する

このサンプルには、IntelliJ 実行構成が含まれています。次のスクリーンショットに示されているように [Edit Configurations...] をクリックして、IntelliJ 実行構成を見つけ、選択してください。

https://storage.googleapis.com/gweb-cloudblog-publish/images/9_-_Select_the_included_IntelliJ_Run_Configu.max-800x800.png

6. [Run] をクリックする

対象の IntelliJ 実行構成を選択したら、上のステップ 4 のスクリーンショットに表示されている緑色の実行ボタンをクリックします。

これでサンプルが実行され、Google Cloud プロジェクトに Dataflow ジョブが送信されます。その際、gradle.properties ファイルの値が参照されます。ベスト プラクティスは、代わりに Dataflow テンプレートを使用することですが、このサンプルでは便宜のために gradle.properties ファイルが提供されます。

7. 出力に表示された Dataflow ジョブの URL を開く

前のステップで実行ボタンをクリックした後、Dataflow ジョブの送信に関する出力が表示されます。その最後に、Dataflow ジョブにアクセスするための URL が表示されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/10_-_Open_the_Dataflow_Job_URL_printed_in_th.max-900x900.jpg

8. Dataflow ジョブのグラフを確認する

コード出力によって表示された Dataflow ジョブの URL を開くと、Google Cloud コンソールに Dataflow ジョブのグラフが表示されます。パイプラインがコードを実行するまでには、少し時間がかかります。ここで必要な操作はなく、情報を確認するのみです。ust informational.

https://storage.googleapis.com/gweb-cloudblog-publish/images/11_-_Examine_the_Dataflow_Job_Graph.max-1700x1700.png

9. BigQuery でデータを確認する

パイプラインが最終的に実行されると、BigQuery テーブルにデータが書き込まれます。Google Cloud コンソールで BigQuery に移動し、パイプラインによって新しいテーブルが作成されたことを確認します。Infrastructure-as-Code が先にこのデータセットを作成していることに留意してください。

https://storage.googleapis.com/gweb-cloudblog-publish/images/12_-_Examine_data_in_BigQuery.max-600x600.png

パイプラインはテーブルのスキーマも自動的に作成します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/13_-_Examine_data_in_BigQuery.max-900x900.png

最後に、パイプラインは、Pub/Sub のタクシーの公開トピックから送信される Pub/Sub サブスクリプションのメッセージを消費すると、データを BigQuery テーブルに書き込みます。プレビューを以下に示します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/14_-_Examine_data_in_BigQuery.max-1900x1900.png

10. Google Cloud の請求対象リソースをクリーンアップする

Google Cloud の請求対象リソースの削除手順は、次のとおりです。

次のステップ

Dataflow パイプラインの開発を簡素化することで、開発チームが活性化されるだけでなく、チームがイノベーションと価値創造に再び注力できるようになります。今すぐ Cloud Dataflow でデータ パイプラインの開発を始めましょう。

- プロダクト マネージャー Abhijeet Rajwade

投稿先