Spark StreamingとSpark Structured Streamingは何が違うの？どちらを使うべきですか？
Spark Streamingは、Sparkの前世代のストリーミングエンジンなのだ。Spark Streamingのアップデートはもう行われておらず、レガシーなプロジェクトとなっているのだ。Spark Streamingは、連続したデータの流れを表す離散化ストリーム（discretized stream）またはDStreamと呼ばれる高レベルの抽象化機能を提供するのだ。内部的には、DStreamはRDDのシーケンスとして表現されるのだ。

Spark Structured Streamingは、Sparkのストリーミングエンジンの最新世代で、より豊富な機能、使いやすさ、スケーラビリティを備えているのだ。Spark Structured StreamingはSpark SQLエンジンの上に構築されており、静的データに対するバッチ計算と同じようにストリーミング計算を表現することが可能なのだ。

Sparkでストリーミングアプリケーションやパイプラインを構築する場合は、Spark Structured Streamingを使用する必要があるのだ。Spark Streamingで構築したレガシーアプリケーションやパイプラインがある場合は、それらをSpark Structured Streamingに移行する必要があるのだ。