<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=445779107733115&amp;ev=PageView&amp;noscript=1">

Google Cloud(GCP)のDataflowとは?
特徴や活用方法、関連サービスを徹底解説

 2025.12.16  株式会社電算システム

社内に存在する膨大な量のデータを活用するには、ビッグデータの処理に優れた高性能なシステムが求められます。また、ビッグデータを格納するためのスペースや、データ分析用の環境なども構築しなければならず、どこから手を付けて良いかわからず悩んでいる方も多いのではないでしょうか。

このような際は、今回紹介するDataflowが役立ちます。Dataflowは、Google Cloud(GCP)に搭載されているサービスの一種で、データソースからのデータ抽出や分析用データへの変換などの機能を備えています。また、Google Cloudには、データ保管用のデータレイクやDWH、データ分析ツールなどがそろっており、Dataflowと連携することでデータ活用に必要となる根本的な基盤を構築できるのも特徴です。

本記事では、Dataflowの特徴や役割、機能などの基礎知識を詳しく解説します。あわせてDataflowの活用方法や関連サービスなども紹介しているので、データ分析基盤やAIモデルの構築を検討している方は参考にしてください。

Google Cloud(GCP)のDataflowとは大規模データの処理が可能なETLツール

Google Cloud(旧Google Cloud Platform/GCP)には、データ分析基盤やデータベース、AIモデル構築などにかかわる100種類以上のサービスがあり、そのなかにETLツールとしてDataflowが用意されています。大容量のデータを抽出したり変換したりする際、高速で処理が可能なので、Google Cloudのほかのサービスと組み合わせつつ、データを活用する基盤を構築する際に役立ちます。

ここでは、Dataflowの役割や仕組みについて解説します。

ETLツールの役割

そもそもETLツールとは、「Extract(抽出)・ Transform(変換)・ Load(書き出し)」を組み合わせた用語で、複数のシステムからデータを抽出し、分析用に加工したうえで特定の場所へ移行する役割があります。

現代の企業では、社内で数多くのシステムを同時に運用するのが一般的です。例えば、基幹システムやERP、顧客管理システム、生産管理システムなどがあげられ、組織規模が大きくなるほど、その種類や数が増加する傾向にあります。このようななか、複数の異なるシステムから必要なデータを抽出しようとすると、大きな手間や時間がかかります。

その点、ETLツールであれば、さまざまな外部システムとの連携が可能なので、仕様が異なる複数のデータソースからでもスムーズに必要なデータを抽出できます。また、ローデータを分析用のデータに加工する際、ノーコードかつ簡易的な操作のみで、各種データの分類やフォーマットの統一化を実行できるのもポイントです。

Dataflowを使ってできること

数あるETLツールのなかでもDataflowは、大規模なデータ処理を実行できる性能の高さに特徴があります。

昨今では、インターネットの普及やクラウドサービスの台頭、IoT技術の発展などにより、企業が保有できるデータの数は膨大な量に及びます。このようなビッグデータを活用するには、大規模かつ多種多様なデータを集約し、高速に処理するための環境が欠かせません。Dataflowは、そうしたニーズを持つ企業にさまざまな機能を提供します。

なかでも大きな特徴としてあげられるのは、Apache Beamで記述されたパイプライン処理を動作させられるプラットフォームであることです。Apache Beamの仕組みを活用することで、データを並列処理するためのパイプライン処理が可能になります。

Apache Beamの仕組み

Apache Beamとは、パイプライン処理を実現するためのフレームワークです。

パイプライン処理は、CPUの処理速度向上を目的とした技術を指します。マイクロプロセッサ内のプログラムを複数に分散し、それぞれ別の回路で並列的に処理できるため、データの読み込みや前処理、集計、保存といった一連の処理を効率良く実行できるのが特徴です。

Apache Beamで作成する処理は、「ジョブ」と呼ばれています。このジョブは、JavaやPython、Goなどの言語を使って作成できるほか、既存のテンプレートを活用して構築することも可能です。Apache Beamを使用することで、ユーザーはパイプラインの環境構築や管理に手間を割く必要が少なくなります。

Dataflowが持つ4つの特徴

Dataflowには、次のような特徴があります。

  • 動作環境を自動的に構築できる
  • 作業配分を最適化しやすい
  • Google Cloudの各種サービスとの連携に対応している
  • Googleがサーバーの管理や運用を代行してくれる

同ツールを最大限に活用するためにも、それぞれの特徴をよく理解しておくことが重要です。

動作環境を自動的に構築できる

Apache Beamによって記述された処理をDataflow上で実行することで、記述されたパイプラインの構成に沿って環境を自動構築したうえで、処理を開始してくれます。開発者が特に手を加えなくても実行に必要な動作環境を自動的に構築してくれるので、その分の手間を削減できるのが利点です。

さらにDataflowには、オートスケーリング機能が搭載されています。ストリーミングデータの量が想像以上に多かったり、負荷がかかるバッチ処理を実行したりした場合などに自動でスケーリング(リソースの拡張)を実行してくれるので、データ分析基盤に必要な環境周りのことを考慮する必要がなくなります。

作業配分を最適化しやすい

Dataflowには、作業配分の自動化と最適化の機能が搭載されています。これにより、例えば、当初のスケジュールから特定の作業に遅延が発生している場合でも、各タスクの優先度を自動的に調整してくれるため、手作業で作業配分を細かく設定する必要がありません。

先ほど紹介したオートスケーリングや、今回の作業配分の最適化など、Dataflowには特定の作業を自動化する機能が数多く用意されています。このような機能をうまく活用すれば、組織内の業務効率化や生産性向上に大きく寄与します。

Google Cloudの各種サービスとの連携に対応している

Dataflowでは、Google Cloudの各種サービスと連携できるSDK(ソフトウェア開発キット)がそろっており、各種サービス間での連携が可能です。連携可能なサービスには、次のような種類がある

  • BigQuery:
    膨大なデータを格納できるDWH(データウェアハウス)の機能に加え、保存されたデータから即座にクエリを実行し、分析作業へとつなげられる機能を搭載
  • Cloud Storage:
    画像や動画、PDFといった非構造化データの保管に優れたオブジェクトストレージサービス
  • Cloud Pub/Sub:
    Publisher(メッセージを送る人)からSubscriber(メッセージを受け取る人)へと、スムーズにメッセージを転送できるサービス
  • Cloud Bigtable:
    使用していない領域でもストレージ容量を消費せず、NoSQLでデータベースを構築できるサービス
  • Cloud Spanner:
    フルマネージド型のRDB(リレーショナルデータベース)で、ストレージからコンピューティングリソースが分離されており、柔軟にスケーリングを行えるのが特徴

例えば、Cloud Storage上にファイルが配置されているのを常に待ち受け解いたり、Cloud Pub/Subで処理結果のメッセージを送るようにしたり、さまざまな連携方法があります。アイデア次第でさまざまなシーンに対応できるので、多種多様な業種で使用できるでしょう。

加えて、Google CloudにはAWS(Amazon Web Services)とのAPIも用意されています。Google Cloudだけでなく、外部サービスとの連携も可能な点は、Dataflowの大きなメリットです。

Googleがサーバーの管理や運用を代行してくれる

DataflowのようなETLツールを利用する際は、本来であれば自前でサーバーを用意しなければなりません。しかし、Dataflowの場合、サーバーの導入や管理、運用といった一連のプロセスを、サービス提供者であるGoogleが担ってくれます。このような仕組みは「フルマネージドサービス」と呼ばれています。

仮にサーバーに障害が発生した場合でも、ユーザー側でトラブルに対処する必要はありません。Googleに在籍するエンジニアチームがすべて対応してくれるため、安心かつ集中してDataflowを利用できます。そのほか、セキュリティ監視やトラブルシューティングなど、サーバー管理に必要なほとんどの工程を一任できるのも特徴です。

結果として、サーバーの保守管理に必要な工数を最小限に抑えられるだけでなく、人件費の削減にも効果を発揮します。

Dataflowの活用方法

Dataflowには、ストリーミング分析やリアルタイムAIなど、さまざまな形で活用できます。複数の活用方法を取りあげ、それぞれの特徴や使用例を解説します。

ストリーミング分析

ストリーミング分析とは、数千・数万といった膨大な量のデータソースから持続的に生まれるストリーミングデータを処理・分析するための手法です。際限なく生成される大容量のデータをリアルタイムに処理できることから、「リアルタイム分析」とも呼ばれています。この「ストリーミング」という言葉は、ひとまとまりのデータを一括で処理する「バッチ」との対極に位置します。

Dataflowでは、Google Cloudにデータを取り込むことで、正確かつ迅速に計算処理が可能です。また、クエリ実行環境のBigQueryと連携すれば、TB(テラバイト)やPB(ペタバイト)といった大容量のデータでも高速に処理・分析できます。このような点からDataflowには、ストリーミング分析を行うためのデータを効率良く用意できるメリットがあります。

データ分析基盤の構築

データ分析基盤を構築するには、さまざまな種類のシステムやアプリケーションを導入しなければなりません。例えば、ローデータを格納するためのデータレイクや、分析用に加工したデータを保管するためのDWH、データ分析が可能なBIツールなどがあげられます。このような流れのなかで、Dataflowはローデータを加工するためのETLツールとして機能します。

Google CloudにはDataflowのほかにも、データレイクのCloud StorageやDWHのBigQuery、BIツールのLookerなどのサービスが搭載されています。そのため、Dataflowと複数のサービスを組み合わせることで、ワンストップでのデータ分析基盤の構築が可能です。

機械学習の前処理

機械学習とは、AIモデルを構築するにあたり、事前に大量のデータをインプットしてコンピュータ自身で学習を進める手法です。学習を繰り返すことでデータ同士の関連性や法則性を見出したうえで、特定のデータ内に存在する特徴を正確に理解できるようになります。

機械学習を進めるにはデータの前処理が必要です。前処理とは、収集したデータを学習しやすいように集計したり、不足数値を補足したり、フォーマットを統一化したりと、データをきれいに整理する作業を指します。

前処理を行うには、大量のデータを効率良く処理しなければなりません。Dataflowは、Apache Beamの仕組みによって大規模データを素早く処理できるからこそ、機械学習の前処理を行う場合に向いています。

リアルタイムAI

AI技術のなかでも、リアルタイムのデータをもとに作業を実行する仕組みをリアルタイムAIといいます。

リアルタイムデータとは、収集した時点で即座に活用できるデータのことです。例えば、天候情報や交通状況、株価の変動、センサーやカメラから検出した情報などがリアルタイムデータに該当します。リアルタイムデータにもとづきAIがスピーディに問題検出や予測分析を行うことで、意思決定スピードの向上や分析担当者の負担軽減といった効果が見込めます。

Dataflowでは、Google CloudのAI関連のサービスである、AI PlatformやTensorFlow Extendedとの連携が可能です。Dataflowからそれらのサービスにストリーミングイベントを送信することで、リアルタイムデータにもとづくAIの問題検出や予測分析などへと発展できます。

Dataflowの料金体系

Dataflowを実行すると、Google Compute Engineを使用したワーカーが作成され、料金はそのワーカーの起動時間に対して課金されます。料金の計算方法は次の通りです。

{(1CPU料金 × 使用CPU数)+(1GBメモリ料金 × 使用メモリGB)+(1GBストレージ料金 × 使用ストレージGB)} × 時間(h)

例えば、東京リージョンを選択すると、次のような形で料金が発生します。

ジョブタイプ vCPU $/時間 メモリ$ GB/時間 ストレージ - 標準永続ディスク$ GB/時間 ストレージ - SSD 永続ディスク$ GB/時間 データ処理量$ GB
バッチ $0.0728 $0.0046241 $0.0000702 $0.0003874 $0.0143
ストリーミング $0.0897 $0.0046241 $0.0000702 $0.0003874 $0.0234

料金はリージョンごとに異なるほか、同じリージョンでも時期によって差が生まれる場合があるため、料金を算出する際は、Dataflowの料金ページを確認するのがおすすめです。また、Google Cloud料金計算ツールを使用すると、リージョンやジョブタイプなどを選択して、事前に必要な費用をシミュレーションできます。

Google Cloud(GCP)に搭載されているDataflowの関連サービス

Google Cloudには、Dataflowに関連する複数のサービスが用意されています。これらを利用することで、Dataflow内での作業をより効率良く実行できます。代表的な関連サービスの種類や特徴を解説します。

Beam SQL

Beam SQLとは、Apache BeamのパイプラインをSQLを使って記述できるサービスです。Apache BeamのパイプラインがSQLに変換され、Dataflowのジョブとして実行できます。また、Apache BeamのデータセットであるPCollectionをSQLで実行できるのも特徴です。

この機能は本来、Dataflow SQLのサービスを使って実行するのが一般的でした。しかし、2025年2月からDataflow SQLのサポートが終了することから、今後は代替サービスであるBeam SQLを利用することとなります。

ただし、Dataflow SQLとBeam SQLには直接的な互換性がありません。そのため、いままでDataflow SQLを利用しており、サポート終了に伴ってBeam SQLに移行する場合は、そのクエリやDataflowのジョブを再構築する必要があります。

Dataflow Prime

Dataflow Primeは、サーバーレスの環境下でApache Beamのパイプラインを実行できるサービスです。同サービスには、ワーカーのリソースを最適化できる幅広い種類の機能が含まれています。

例えば、水平自動スケーリングと垂直自動スケーリングの両方に対応していることがあげられます。サーバーの処理能力やストレージ容量を増減させるにあたり、水平自動スケーリングでは、複数のサーバーに負荷を分散できるのが特徴です。一方の垂直自動スケーリングは、サーバーのCPUやRAM、ストレージなどの物理的なリソースを直接的に拡張・縮小できます。

これらの仕組みにより、Dataflowでパイプラインを実行する際は、使用可能なメモリが必要に応じて自動調整されます。ジョブを実行するときのメモリ不足によるエラーが起きにくいのが大きなメリットです。

Dataflow ML

Dataflow MLは、機械学習(Machine Learning/ML)を用いた推論を、Dataflowのジョブとして実行できるサービスです。

実際にDataflow MLを利用する際は、Apache Beamの「RunInference」と呼ばれるAPIを用い、パイプライン上に機械学習モデルを追加します。すると、機械学習の推論結果が、BigQueryのクエリとして実行されて可視化される仕組みです。

Dataflowが持つETLの仕組みを活用して効率良くデータを処理しよう

Dataflowは、Google Cloudに搭載されているETLツールです。さまざまなデータソースから必要なデータを抽出した後、分析用に加工したり、DWHなどの格納スペースへと移行したりといったことが可能になります。社内のさまざまな種類のデータを活用するにあたって、Dataflowは、ローデータを分析用のデータへと変換させる重要な役割を担います。

また、Google Cloudの各種サービスと連携することで、活用範囲が広がるのも特徴です。各種サービスとの連携方法によっては、データ分析基盤の構築や機械学習の前処理など、さまざまな形で発展できます。

電算システムでは、Google Cloudのスターターパックサービスや技術コンサルティングサービスなどを提供しています。Google Cloudを活用したデータ分析基盤の構築方法や、データの活用方法などに関して、プロの観点からアドバイスを行っています。「Google Cloudを活用したいが具体的なイメージが湧かない」といったお悩みを抱える方は、ぜひ電算システムへと気軽にお問い合わせください。

監修者

西口 太一
西口 太一
Google Cloud エンジニアとしてさまざまな構築支援を行なっています。

<保有資格>
・Associate Cloud Engineer
・Professional Cloud Architect
・Professional Data Engineer
・Professional Cloud Database Engineer
・Professional Cloud DevOps Engineer
・Professional Cloud Developer
・Professional Cloud Security Engineer
・Professional Cloud Network Engineer
・Professional Workspace Administrator
Associate Cloud Engineer Professional Cloud Architect Professional Data Engineer Professional Cloud Database Engineer Professional Cloud DevOps Engineer Professional Cloud Developer Professional Cloud Security Engineer Professional Cloud Network Engineer Professional Workspace Administrator