✅ Azure Stream Analytics ✅ Fabric Eventstream
通常のシナリオでは、イベント処理エンジンを使用して、非常に短い待機時間でストリーミング データを計算します。 多くの場合、ユーザーは、システムに関してよりスマートな意思決定を行うために、永続化された履歴データまたは緩やかに変化するデータセット (参照データ) をリアルタイム イベント ストリームと関連付ける必要があります。 たとえば、IP アドレスを場所にマップする静的データセットにイベント ストリームを結合します。 これは、テンポラル バインドが必要ない Stream Analytics でサポートされている唯一の JOIN です。 参照データは、デバイス固有のしきい値を持つ場合にも使用できます。
例
商用車両が有料会社に登録されている場合は、検査のために停止することなく有料ブースを通過できます。 商用車両登録ルックアップ テーブルを使用して、登録が期限切れのすべての商用車両を識別します。
SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId
FROM Input1 I1 TIMESTAMP BY EntryTime
JOIN Registration R
ON I1.LicensePlate = R.LicensePlate
WHERE R.Expired = '1'
参照データ JOIN の詳細
- 参照データ JOIN を使用するには、参照データの入力ソースが定義されている必要があります。
- 参照データ JOIN は、内部 JOIN (既定) と左外部 JOIN でサポートされ、JOIN 演算子の右側に参照データが含まれます。
- データ型は、結合述語 (
ON
句) の評価において重要な側面です。 異なるデータ型 (1.0
と"1"
) の同様の値が一致しない可能性があります。 キーを共通の型に明示的に変換することをお勧めします。 - 参照データは静的 (1 回のみ読み込む) または動的 (定期的に更新) できます。 ただし、動的な場合でも、参照データは時間の進行を行わないので、出力を生成するには、左側のストリームで新しいイベントを取得する必要があります。 詳細については、 Azure Stream Analytics での時間の進行状況 も参照してください。
パフォーマンスに関する考慮事項
パフォーマンスの低下を防ぐには、参照結合述語 (ON
句) を単純キーの等価性 (ON s.myKey = r.myKey
) を使用して定義する必要があります。 複雑な式 (不等式) を使用すると、内部的にクロス結合の後にフィルター (フル スキャンとルックアップ) が発生し、全体的な待機時間に影響を与える可能性があります。
可能な場合は、これらの複雑な式をクエリ ステップの WHERE
句に移動するか、同じ参照データを複数の単純な条件で結合します。