Skip to Content
Apache Spark によるストリーム処理
book

Apache Spark によるストリーム処理

by Gerard Maas, Francois Garillot
May 2025
Intermediate to advanced
452 pages
6h 3m
Japanese
O'Reilly Media, Inc.
Content preview from Apache Spark によるストリーム処理

第18章. Sparkストリーミング実行モデル

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

第16章でSpark Streamingの旅を始めたとき、このストリーミングAPIが提供するプログラミングモデルと演算モデルをDStream抽象化がどのように具現化するかについて説明した。第17章でプログラミングモデルについて学んだ後、Spark Streamingランタイムの背後にある実行モデルを理解する準備が整った。

この章では、バルク同期アーキテクチャと、それがマイクロバッチストリーミングモデルを推論するためのフレームワークをどのように提供するかについて学ぶ。 次に、Spark Streamingがレシーバモデルを使用してデータを消費する方法と、このモデルがデータ処理の信頼性の点で提供する保証について調べる。 最後に、信頼性の高いデータ配信を提供できるストリーミングデータプロバイダのレシーバの代替として、ディレクトリAPIを調べる。

バルク同期アーキテクチャ

第5章では、 、ストリームからのデータのマイクロバッチに対して分散ストリーム処理がどのように行われるかを推論することができる理論的枠組みとして、バルク同期並列BSP)モデルについて説明した。

Spark Streamingは、バルク同期並列処理に似た処理モデルに従っている:

  • クラスタ上のすべてのSparkエクゼキュータは、例えばネットワークタイムプロトコル(NTP)サーバを介して同期されるなど、同期クロックを持っていると仮定される。

  • Receiverベースのソースの場合、1つまたは複数のエグゼキュータが、 Sparkの特殊化ジョブであるReceiverを実行する。 このReceiverは、Streamの新しい要素を消費するタスクがある。 このReceiverは、2クロックのティックを受信する:

    • これは、ストリームから受信した要素をブロックに割り当てるタイミング、つまり、現在のインターバルで、単一のエクゼキュータによって処理されるべきストリームの部分を示す。 このような各ブロックは、各バッチインターバルで生成されるレジリエンス分散データセット(RDD)のパーティションになる。

    • 、頻度が低いのがバッチインターバルである。これは、レシーバーが最後のクロックチック以降に収集されたストリームからデータをアセンブルし、クラスタ上で分散処理するためのRDDを生成するタイミングを示す。

  • ダイレクトアプローチを使用する場合、関連するのはバッチ間隔の刻みのみである。

  • すべての処理中、通常の(バッチ)Sparkジョブの場合と同様に、ブロックはブロックマネージャに通知される。ブロックマネージャは、Sparkに投入されたすべてのデータブロックが、設定された永続化レベルに従って複製されることを保証するコンポーネントであり、フォールトトレランスを目的としている。

  • 各バッチインターバルで、前のバッチインターバルでデータを受信した RDDが利用可能になり、その結果、このバッチ中に処理がスケジュールされる。

図18-1は、これらの要素がどのように組み合わさって概念的にはDStreamを形成しているかを示している。

図18-1. DStreamの構造:ブロックとバッチ

厳密なバルク同期モデルで同時実行を実現する場合、ここでのバリアはバッチ間隔での新しいRDDの到着となる。 ただし、Spark Streamingでは、新しいバッチが到着した瞬間のクラスタの状態とは無関係にデータ配信が行われるため、これは実際にはバリアではない:Sparkのレシーバは、新しいバッチを開始するためにクラスタがデータの受信を終了するのを待たない。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Apache Flinkによるストリーム処理

Apache Flinkによるストリーム処理

Fabian Hueske, Vasiliki Kalavri

Publisher Resources

ISBN: 9798341650602