ある企業がリアルタイム分析基盤を構築しており、Azure Stream Analytics と Spark Structured Streaming(Azure Databricks)の使い分けを検討している。Azure Stream Analytics が Spark Structured Streaming より適しているシナリオとして正しいものを2つ選択してください。
- A. Event Hubs・IoT Hub・Blob Storage など Azure サービスとの組み込みコネクタを使って迅速に接続したい場合
- B. PySpark を使った複雑なステートフル処理や独自のウィンドウロジックをカスタム実装したい場合
- C. 大規模バッチ処理と同一の Databricks クラスターでストリーミング処理を実行してインフラを統合したい場合
- D. SQL ライクなクエリで簡単にウィンドウ集計・フィルタリングを定義したい場合(コーディングを最小限にしたい)
- E. 複雑な機械学習モデルをストリーミングパイプラインに組み込んでリアルタイム推論を行いたい場合
解答と解説を見る
正解: A, D
Azure Stream Analytics は SQL ライクなクエリ言語(SAQL)を使って宣言的にストリーミング処理を定義できるため、開発者が Spark のコードを書かずにウィンドウ集計・フィルタリング・異常検知を素早く実装できる(選択肢 D が正解)。また Event Hubs・IoT Hub・Blob Storage・Power BI・SQL Database などの Azure サービスへの組み込みコネクタを標準搭載しており、接続設定が簡単で迅速な立ち上げが可能である(選択肢 A が正解)。選択肢 E の機械学習モデルのリアルタイム推論は、MLflow モデルの統合や PySpark UDF を使える Spark Structured Streaming(Databricks)の方が適している。選択肢 B のカスタムステートフル処理や独自ウィンドウロジックは、コード自由度の高い Spark Structured Streaming が適している。選択肢 C のバッチ処理との統合は、同一クラスターでバッチと Streaming を同時に扱える Databricks の利点であり、Stream Analytics では実現できない。
📚 関連サービスの解説: Azure Blob Storage