🌊databricks-spark-structured-streaming
- プラグイン
- databricks
- ソース
- GitHub で見る ↗
説明
Spark Structured Streamingの本番ワークロード向け総合ガイドです。 次のような場合に使用: - ストリーミングパイプラインの構築 - Kafkaインジェストの実装 - リアルタイムモード(RTM)の導入 - トリガーの設定(`processingTime`、`availableNow`) - ウォーターマークを用いたステートフル操作の処理 - チェックポイントの最適化 - ストリーム間結合またはストリームと静的データの結合の実行 - 複数シンクへの書き込み - ストリーミングのコストおよびパフォーマンスのチューニング
原文を表示
Comprehensive guide to Spark Structured Streaming for production workloads. Use when building streaming pipelines, working with Kafka ingestion, implementing Real-Time Mode (RTM), configuring triggers (processingTime, availableNow), handling stateful operations with watermarks, optimizing checkpoints, performing stream-stream or stream-static joins, writing to multiple sinks, or tuning streaming cost and performance.
ユースケース
- ✓ストリーミングパイプラインを構築するとき
- ✓Kafkaからデータをインジェストするとき
- ✓ウォーターマークを用いた状態管理が必要なとき
- ✓ストリーム間結合を実行するとき
- ✓ストリーミングのコスト最適化を行うとき
本文(日本語訳)
Spark Structured Streaming
Spark Structured Streaming を使用した本番環境対応のストリーミングパイプライン。 このスキルは、詳細なパターンとベストプラクティスへのナビゲーションを提供します。
クイックスタート
from pyspark.sql.functions import col, from_json
# Kafka から Delta への基本的なストリーミング
df = (spark
.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "broker:9092")
.option("subscribe", "topic")
.load()
.select(from_json(col("value").cast("string"), schema).alias("data"))
.select("data.*")
)
df.writeStream \
.format("delta") \
.outputMode("append") \
.option("checkpointLocation", "/Volumes/catalog/checkpoints/stream") \
.trigger(processingTime="30 seconds") \
.start("/delta/target_table")
コアパターン
| パターン | 説明 | リファレンス |
|---|---|---|
| Kafka ストリーミング | Kafka → Delta、Kafka → Kafka、リアルタイムモード | references/kafka-streaming.md を参照 |
| ストリームジョイン | ストリーム同士のジョイン、ストリームと静的データのジョイン | references/stream-stream-joins.md、references/stream-static-joins.md を参照 |
| マルチシンク書き込み | 複数テーブルへの書き込み、並列マージ | references/multi-sink-writes.md を参照 |
| マージ操作 | MERGE のパフォーマンス、並列マージ、最適化 | references/merge-operations.md を参照 |
設定
| トピック | 説明 | リファレンス |
|---|---|---|
| チェックポイント | チェックポイントの管理とベストプラクティス | references/checkpoint-best-practices.md を参照 |
| ステートフル操作 | ウォーターマーク、ステートストア、RocksDB の設定 | references/stateful-operations.md を参照 |
| トリガーとコスト | トリガーの選択、コスト最適化、RTM | references/trigger-and-cost-optimization.md を参照 |
ベストプラクティス
| トピック | 説明 | リファレンス |
|---|---|---|
| 本番環境チェックリスト | 包括的なベストプラクティス | references/streaming-best-practices.md を参照 |
本番環境チェックリスト
- [ ] チェックポイントの保存先が永続的であること(UC ボリューム使用、DBFS は不可)
- [ ] ストリームごとに一意のチェックポイントが設定されていること
- [ ] 固定サイズのクラスター使用(ストリーミングではオートスケーリング不可)
- [ ] モニタリングが設定されていること(入力レート、ラグ、バッチ処理時間)
- [ ] Exactly-once が検証されていること(txnVersion / txnAppId)
- [ ] ステートフル操作にウォーターマークが設定されていること
- [ ] ストリームと静的データのジョインには左ジョインを使用すること(内部ジョイン不可)
原文(English)を表示
Spark Structured Streaming
Production-ready streaming pipelines with Spark Structured Streaming. This skill provides navigation to detailed patterns and best practices.
Quick Start
from pyspark.sql.functions import col, from_json
# Basic Kafka to Delta streaming
df = (spark
.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "broker:9092")
.option("subscribe", "topic")
.load()
.select(from_json(col("value").cast("string"), schema).alias("data"))
.select("data.*")
)
df.writeStream \
.format("delta") \
.outputMode("append") \
.option("checkpointLocation", "/Volumes/catalog/checkpoints/stream") \
.trigger(processingTime="30 seconds") \
.start("/delta/target_table")
Core Patterns
| Pattern | Description | Reference |
|---|---|---|
| Kafka Streaming | Kafka to Delta, Kafka to Kafka, Real-Time Mode | See references/kafka-streaming.md |
| Stream Joins | Stream-stream joins, stream-static joins | See references/stream-stream-joins.md, references/stream-static-joins.md |
| Multi-Sink Writes | Write to multiple tables, parallel merges | See references/multi-sink-writes.md |
| Merge Operations | MERGE performance, parallel merges, optimizations | See references/merge-operations.md |
Configuration
| Topic | Description | Reference |
|---|---|---|
| Checkpoints | Checkpoint management and best practices | See references/checkpoint-best-practices.md |
| Stateful Operations | Watermarks, state stores, RocksDB configuration | See references/stateful-operations.md |
| Trigger & Cost | Trigger selection, cost optimization, RTM | See references/trigger-and-cost-optimization.md |
Best Practices
| Topic | Description | Reference |
|---|---|---|
| Production Checklist | Comprehensive best practices | See references/streaming-best-practices.md |
Production Checklist
- [ ] Checkpoint location is persistent (UC volumes, not DBFS)
- [ ] Unique checkpoint per stream
- [ ] Fixed-size cluster (no autoscaling for streaming)
- [ ] Monitoring configured (input rate, lag, batch duration)
- [ ] Exactly-once verified (txnVersion/txnAppId)
- [ ] Watermark configured for stateful operations
- [ ] Left joins for stream-static (not inner)
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。