Google Cloud

Dataflow / Apache Beam 入門|ストリーミング・バッチ統合パイプライン

2026-05-24
NicheeLab編集部

Dataflow は Google Cloud のサーバレスデータ処理サービスで、Apache Beam SDK で書いたパイプラインをマネージド実行します。 ストリーミングとバッチを同じコードで処理できる Unified モデルが特徴で、Pub/Sub → BigQuery の ETL パターンの標準ツールです。

Apache Beam Unified Model

  • PCollection: 分散データセット (Streaming / Batch 共通)
  • PTransform: 変換処理 (Map, Filter, GroupBy 等)
  • Pipeline: PTransform の連鎖
  • Runner: 実行エンジン (Dataflow / Spark / Flink / Direct)

Window / Trigger / Watermark

Window 種別用途
Fixed (Tumbling)固定時間 (毎 1 分集計)
Sliding重複あり (5 分窓を 1 分ごとに)
Session非アクティブで切る (ユーザー行動)
Global窓なし (バッチ向き)
  • Watermark: 「これより古いデータは来ない」境界を Beam が推定
  • Trigger: AfterWatermark / AfterProcessingTime / AfterCount
  • Late Data: Watermark 経過後のデータをどう扱うか (破棄 / 再集計)

Dataflow vs Dataflow Prime

  • Dataflow: 標準、Worker タイプ手動指定
  • Dataflow Prime: Vertical Autoscaling (CPU/メモリ自動調整)、Right-fitting (Stage 別最適化)、Streaming Engine 内蔵

主要機能

  • Autoscaling: Worker 数の自動調整 (Streaming は変動激しい時に効果大)
  • Streaming Engine: 状態管理を Dataflow 側にオフロード (Worker 軽量化)
  • Dataflow Shuffle: シャッフル処理をマネージドに (大規模 Batch で効果)
  • FlexRS: Spot VM 利用で 40% コスト削減 (Batch のみ)
  • Templates: 事前構築 + Flex Template でカスタム
  • Notebooks 統合: Vertex AI Workbench から開発

典型的なパイプライン: Pub/Sub → BigQuery

# Python Apache Beam
import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions, StandardOptions

options = PipelineOptions(streaming=True)

with beam.Pipeline(options=options) as p:
  (p
   | "Read from Pub/Sub" >> beam.io.ReadFromPubSub(topic='projects/PROJECT/topics/events')
   | "Parse JSON" >> beam.Map(lambda msg: json.loads(msg))
   | "Window" >> beam.WindowInto(beam.window.FixedWindows(60))
   | "Group by user" >> beam.GroupByKey()
   | "Write to BQ" >> beam.io.WriteToBigQuery(
       'PROJECT:dataset.events',
       schema='user_id:STRING,count:INTEGER,window_start:TIMESTAMP',
       write_disposition=beam.io.BigQueryDisposition.WRITE_APPEND)
  )

料金体系

項目料金 (us-central1)
vCPU$0.069/h (Batch) / $0.075/h (Streaming)
メモリ$0.0046/GB/h
Shuffle$0.011/GB (Batch) / $0.018/GB (Streaming Engine)
FlexRS (Spot)40% 割引

他ツール比較

項目DataflowDataproc (Spark)AWS Kinesis Data Analytics
モデルBeam (Unified)Spark / HadoopFlink
サーバレスServerless mode あり
OSS 互換○ (Beam OSS)◎ (Spark/Hadoop)○ (Flink)
料金Worker 時間クラスタ時間KPU 時間

典型的なユースケース

  • IoT テレメトリのリアルタイム集計
  • Web ログ → BigQuery ストリーミング ETL
  • CDC (Datastream → Dataflow → BQ)
  • 不正検知 (Pub/Sub → Dataflow ML → アラート)
  • 音声/動画パイプライン (GCS → Dataflow → ML)

Dataflow と Apache Beam の関係は?

Apache Beam は OSS の統合プログラミングモデル、Dataflow はその Runner (実行エンジン) の Google マネージド版。Beam で書いたコードは Spark / Flink でも実行可。

Streaming と Batch の違いは?

Streaming = Pub/Sub から連続取り込み、Batch = GCS / BigQuery から一度取得。同じ Beam パイプラインで両方対応 (Unified モデル)。

Window / Trigger / Watermark とは?

Window = 時間範囲でデータをグループ化、Trigger = いつ結果を出力するか、Watermark = データ遅延の境界。ストリーミング処理の中核 3 概念。

Dataflow Prime とは?

Dataflow の進化版。Vertical Autoscaling (リソース自動調整)、Right-fitting、改善されたシャッフル等。複雑パイプラインで効果大。

料金体系は?

Worker (vCPU + メモリ + ストレージ) 時間 + Shuffle データ + Streaming Engine データ。Streaming は常時稼働でコスト高、Autoscaler で最小化必須。

Apache Spark との比較は?

Spark は処理エンジン、Beam はモデル + Runner 抽象。Dataflow はサーバレス管理が強み、Spark on Dataproc は OSS 互換性が強み。

Dataflow Templates とは?

Google が提供する事前構築テンプレート (Pub/Sub → BQ、GCS → BQ 等)。コード書かずに UI から実行可能。Flex Template でカスタム可。

デバッグ・モニタリングは?

Dataflow UI のグラフビュー、Worker Metrics、Cloud Profiler 統合、Dataflow Insights で自動診断。

関連記事・データ処理

Pub/Sub 完全ガイド|料金・Push vs Pull・Ordering Key・Kafka 比較 (GCP)

Google Cloud Pub/Sub の全機能解説。Push vs Pull、Ordering Key、Exactly-once、Dead Letter、Schema Registry、Pub/Sub Lite、AWS SNS/SQS / Kafka 比較、料金体系を網羅。

GCP Professional Cloud Developer (PCD) 完全ガイド|Cloud Run・GKE・CI/CD・APM

Google Cloud Professional Cloud Developer の試験範囲、Cloud Run / GKE / Cloud Build / Cloud Trace、AWS DVA / Azure AZ-204 比較、学習ロードマップを徹底解説。

App Engine 完全ガイド|Standard vs Flexible・料金・Cloud Run 比較 (GCP)

Google App Engine の Standard と Flexible の違い、料金、Traffic Splitting、Cron、Cloud Run / Cloud Functions との使い分け、AWS Elastic Beanstalk / Azure App Service 比較を徹底解説。

BigQuery 入門|サーバレス DWH の全機能・料金・他クラウド比較

Google Cloud BigQuery の基礎から実装まで。サーバレスアーキテクチャ、料金モデル (オンデマンド / Editions)、BigQuery ML、Pub/Sub 連携、Snowflake / Redshift / Synapse との比較を解説。

※ Google Cloud、Apache Beam は各々の商標保有者の所有物です。最新情報は Dataflow 公式 をご確認ください。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

GCP 試験対策ページを見る
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Google Cloud

Google Cloud (GCP) 認定資格ロードマップ 2026 完全版|全 15 試験を体系化

Google Cloud 認定資格 全 15 試験 (Foundational 2 + Associate 3 + Pr...

Google Cloud

Cloud Digital Leader (CDL) 完全ガイド|出題範囲・学習リソース・合格戦略

Google Cloud Cloud Digital Leader (CDL) の完全ガイド。6 ドメイン 92 bul...

Google Cloud

Generative AI Leader (GAIL) 完全ガイド|Google Cloud 生成 AI 認定

Google Cloud Generative AI Leader (GAIL、2025-05-14 リリース) の完全...

Google Cloud

Vertex AI 入門|Google Cloud 統合 ML プラットフォームの全機能

Google Cloud Vertex AI の入門解説。Vertex AI Studio / Agent Builde...

Google Cloud

GCP Associate Cloud Engineer (ACE) 完全ガイド|試験範囲・受験料・学習ロードマップ

Google Cloud Associate Cloud Engineer (ACE) の試験範囲・受験料 125 US...

Google Cloudの記事一覧 (102件)
© 2026 NicheeLab All rights reserved.