Dataflow は Google Cloud のサーバレスデータ処理サービスで、Apache Beam SDK で書いたパイプラインをマネージド実行します。 ストリーミングとバッチを同じコードで処理できる Unified モデルが特徴で、Pub/Sub → BigQuery の ETL パターンの標準ツールです。
| Window 種別 | 用途 |
|---|---|
| Fixed (Tumbling) | 固定時間 (毎 1 分集計) |
| Sliding | 重複あり (5 分窓を 1 分ごとに) |
| Session | 非アクティブで切る (ユーザー行動) |
| Global | 窓なし (バッチ向き) |
# 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% 割引 |
| 項目 | Dataflow | Dataproc (Spark) | AWS Kinesis Data Analytics |
|---|---|---|---|
| モデル | Beam (Unified) | Spark / Hadoop | Flink |
| サーバレス | ◎ | Serverless mode あり | ○ |
| OSS 互換 | ○ (Beam OSS) | ◎ (Spark/Hadoop) | ○ (Flink) |
| 料金 | Worker 時間 | クラスタ時間 | KPU 時間 |
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 公式 をご確認ください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Google Cloud (GCP) 認定資格ロードマップ 2026 完全版|全 15 試験を体系化
Google Cloud 認定資格 全 15 試験 (Foundational 2 + Associate 3 + Pr...
Cloud Digital Leader (CDL) 完全ガイド|出題範囲・学習リソース・合格戦略
Google Cloud Cloud Digital Leader (CDL) の完全ガイド。6 ドメイン 92 bul...
Generative AI Leader (GAIL) 完全ガイド|Google Cloud 生成 AI 認定
Google Cloud Generative AI Leader (GAIL、2025-05-14 リリース) の完全...
Vertex AI 入門|Google Cloud 統合 ML プラットフォームの全機能
Google Cloud Vertex AI の入門解説。Vertex AI Studio / Agent Builde...
GCP Associate Cloud Engineer (ACE) 完全ガイド|試験範囲・受験料・学習ロードマップ
Google Cloud Associate Cloud Engineer (ACE) の試験範囲・受験料 125 US...