3 パターンの使用
パターンは、パイプライン内のステージです。パターンを使用する場合、興味深い結果を得るには、いくつかのキー・フィールドを指定する必要があります。パイプライン内にパターン・ステージを作成できます。パターンは、スタンドアロン・アーティファクトではなく、パイプライン内に埋め込む必要があります。
Oracle Stream Analyticsパターンについて
このトピックは、Oracleユーザー管理のサービスにのみ適用されます。
ホームページの「パターン」をクリックすると、使用可能なすべてのパターンが表示されます。左側のフィルタを使用すると、異なるカテゴリのパターンが表示されます。ユーザー支援アイコンをクリックすると、各パターンの詳細な説明を参照できます。追加情報を非表示にするには、再度クリックします。
パターンは、共通のビジネス・シナリオに基づくライブ出力ストリームの形式に結果を表示します。
注意:
特定のパターンのフィールドにデータを入力する際、入力するデータがフィールドのデータ型に一致していることを確認してください。入力されたデータとデータ型が一致しない場合、パターンはデプロイされず、エラーがスローされます。「表示」下の左側のパネルの「すべて表示」リンクを使用して、カテゴリに基づいてパターンを包含または除外できます。「すべて表示」をクリックすると、隣にチェック・マークが表示され、すべてのパターンがページに表示されます。
いくつかの選択したパターンのみを表示するには、「すべて表示」の選択を解除し、個別にパターンを選択します。選択されたパターンのみがカタログに表示されます。
次の表に、パターンのカテゴリをリストします。
カテゴリ | パターン |
---|---|
エンリッチメント |
逆ジオコード: 近隣 左の外部結合 |
外れ値 |
変動 |
包含 |
論理和 左の外部結合 |
欠落イベント |
Bが後に続かないA 欠落イベントの検出 |
空間 |
近接度: ジオフェンスのあるストリーム ジオフェンス 空間: 速度 交わり: 単一のストリーム 逆ジオコード: 近隣 ジオコード 空間: 点と多角形 交わり: 2つのストリーム 近接度: 2つのストリーム 方向 逆ジオコード: 近隣の場所 近接度: 単一のストリーム ジオフィルタ |
フィルタ |
重複排除 変動 |
状態 |
Bが後に続かないA 逆W 欠落イベントの検出 W Bが後に続くA Aが先行しないB |
会計 |
逆W W |
トレンド |
Bが後に続かないA 上位N 変更検出 上昇トレンド 欠落イベントの検出 下降トレンド Bが後に続くA 重複の検出 下位N |
形状検出 |
逆W W |
統計 |
相関 分位 |
「空間: 速度」パターンについて
このパターンを使用して、移動オブジェクトの選択ウィンドウ範囲における出力平均速度を取得します。
たとえば、車の平均速度を分析する場合です。
図create_spatial_speed_pattern.pngの説明
次のパラメータに適切な値を指定します。
-
緯度: 場所の緯度。適切な値を選択します。
-
経度: 場所の経度。適切な値を選択します。
-
オブジェクト・キー: オブジェクト・キーに適切な値を選択します。
-
座標系: デフォルト値は8307で、この値のみがサポートされます。
-
ウィンドウ範囲: イベントに対して速度が計算される時間範囲。たとえば、
window range=5 seconds
で、オブジェクト・キーがphone no.
の場合、最近の5秒間に受信された同じphone no.
のすべてのイベントが、そのイベントの平均速度を計算するために使用されます。
送信形状には、受信フィールドとともに追加されるフィールドとして「速度」が含まれます。これは、数値フィールドですが、「速度」はm/秒
単位で測定されます。
「ジオコード」パターンについて
データを分析する場合、状況によっては、基準とする移動オブジェクトの地理的コードを取得する必要があります。
このパターンを使用して、住所の地理座標(緯度や経度など)を取得します。
「システム設定」でプロキシの詳細が設定されていることを確認してください。
次のパラメータに適切な値を指定します。
-
名前 — 場所の名前として使用できる適切な値を選択します。これは必須パラメータです。
-
番地 — 番地名として使用できる適切な値を選択します。これは必須パラメータです。
-
市区町村 — 市区町村名として使用できる適切な値を選択します。これは必須パラメータです。
-
地域 — 地域として使用できる適切な値を選択します。これは必須パラメータです。
-
国 — 国の適切な値を選択します。これは必須パラメータです。
-
郵便番号 — 郵便番号の適切な値を選択します。これは必須パラメータです。
送信形状には、受信フィールドに伴う追加フィールドとして緯度と経度が含まれます。
「交わり: 単一のストリーム」パターンについて
このパターンを使用して、ストリーム内のあるオブジェクトと他のすべてのオブジェクトとの交わりを取得します。
たとえば、一群の帆船が相互に近すぎないかどうかを確認できます。
図interaction_single_stream_pattern.pngの説明
次のパラメータに適切な値を指定します。
-
ジオメトリ: タイプ
SDO_GEOMETRY
データ型のフィールド。これらのフィールドには、SDO_GEOMETRY
データ型のフィールドのみを選択する必要があります。 -
オブジェクト・キー: ジオフェンスのオブジェクトを一意に識別するために使用するフィールドで、サポートされる場合はデータのパーティション化に使用されます。
-
座標系: デフォルト値は8307で、この値のみがサポートされます。
送信形状には、受信形状とともにさらに2つのフィールド(isInteract
およびdistance
)が含まれます。isInteract
がtrue
になるのは、2つの形状が相互に交わる場合(つまり、2つのオブジェクトのすべてまたは一部の部分が重なる場合)です。それらの間のdistance
は、0
です。重なりが見られない場合、isInteract
はfalse
になり、それら2つのオブジェクト間のdistance
は正数として示されます。
「交わり: 2つのストリーム」パターンについて
形状のいずれかの部分が重なる場合、2つの形状は相互に交わるということです。2つの形状が交わる場合、それらの間の距離は0 (ゼロ)です。
このパターンを使用して、あるストリームのオブジェクトと別のストリームのオブジェクトとの交わりを取得します。
図interaction_two_stream.pngの説明
次のパラメータに適切な値を指定します。
-
ジオメトリ: ジオメトリの適切な値を選択します。これは必須の値です。
-
オブジェクト・キー: オブジェクト・キーに適切な値を選択します。これは必須の値です。
-
イベント・ストリーム2: 第2イベント・ストリームを選択します。これは必須の値です。
-
ジオメトリ: 第2ストリーム内のジオメトリの適切な値を選択します。これは必須の値です。
-
オブジェクト・キー: 第2ストリーム内のオブジェクト・キーに適切な値を選択します。これは必須の値です。
-
座標系: デフォルト値は8307で、この値のみがサポートされます。
送信形状には、受信形状とともに2つの追加フィールド(isInteract
およびdistance
)が含まれます。isInteract
がtrue
になるのは、2つの形状が相互に交わる場合(つまり、2つのオブジェクトのすべてまたは一部の部分が重なる場合)です。それらの間のdistance
は、0
です。重なりが見られない場合、isInteract
はfalse
になり、それら2つのオブジェクト間のdistance
は正数として示されます。
「空間: 点と多角形」パターンについて
このパターンを使用して、地理座標とオブジェクトの固定長および幅に基づいて、オブジェクト形状を取得します。
たとえば、艦隊グループの長さと幅がわかっている場合、位置座標を使用して艦船の形状を取得できます(座標は艦船の移動に合せて変化し続けます)。
次のパラメータに適切な値を指定します。
-
緯度: 緯度の適切な値を選択します。これは必須パラメータです。
-
経度: 経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー: オブジェクト・キーに適切な値を選択します。これは必須パラメータです。
-
長さ: 多角形の参照の長さとして使用する適切なフィールドを選択します。
-
幅: 多角形の参照の幅として使用する適切なフィールドを選択します。
-
座標系: デフォルト値は8307で、この値のみがサポートされます。
-
バッファ: ジオメトリ・バッファとして使用する正の値を入力します。
送信形状には、座標(latitude
、longitude
)とディメンション(length
、width
)に基づいたイベントの導出形状(SDO_Geometry
型のRectangle/Polygon
)が含まれます。
「近接度: 単一のストリーム」パターンについて
このパターンを使用して、ストリーム内の各オブジェクトと他のすべてのオブジェクトとの近接度を取得します。
たとえば、飛行中の航空機のストリームがあり、距離バッファが1000mであるとします。2つの航空機の近接度が1000m以下になったときに、アラートを起動できます。
図proximity_single_stream.pngの説明
次のパラメータに適切な値を指定します。
-
緯度: 緯度の適切な値を選択します。これは必須パラメータです。
-
経度: 経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー: オブジェクト・キーに適切な値を選択します。これは必須パラメータです。
-
座標系: デフォルト値は8307で、この値のみがサポートされます。
-
距離バッファ: 距離バッファの近接度の値を入力します。これは、2つの点が離れているものの、まだ同じであると判断される距離です。距離の適切な単位を選択します。この値は、10000km未満である必要があります。
送信形状では、別の列に「距離」が表示されます(これは、受信形状とともに検討対象の2つのオブジェクト間の距離です)。
「近接度: 2つのストリーム」パターンについて
このパターンを使用して、2つのストリームのオブジェクト間の近接度を取得します。
距離バッファは、このパターン・ステージではフィルタとして機能します。たとえば、運転手と乗客のストリームがある場合、「1kmの距離以内」というフィルタ基準を使用して、各乗客と他のすべての運転手との近接度を取得できます。
次のパラメータに適切な値を指定します。
-
緯度: 緯度の適切な値を選択します。これは必須パラメータです。
-
経度: 経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー: オブジェクト・キーに適切な値を選択します。これは必須の値です。
-
イベント・ストリーム2: 第2イベント・ストリームを選択します。これは必須の値です。
-
緯度: 第2ストリームの緯度の適切な値を選択します。これは必須パラメータです。
-
経度: 第2ストリームの経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー: 第2ストリームのオブジェクト・キーに適切な値を選択します。これは必須パラメータです。
-
座標系: デフォルト値は8307で、この値のみがサポートされます。
-
距離バッファ: 距離バッファの近接度の値を入力します。このフィールドは、2つのオブジェクトのフィルタ基準として機能し、この距離内に収まらないオブジェクト(オブジェクト間の距離が選択した距離バッファを超える場合)は、結果セットから除外されます。この値は、10000km未満である必要があります。
注意:
このパターンを使用するパイプラインが、キャッシュが有効化されたデータベース参照を含む場合、パターンではライブ出力ストリームに出力が表示されません。送信形状では、別の列に「距離」が表示されます(これは、受信形状とともに検討対象の2つのオブジェクト間の距離です)。
「近接度: ジオフェンスのあるストリーム」パターンについて
このパターンを使用して、仮想境界またはジオフェンスのあるオブジェクトの近接度を取得します。
たとえば、カリフォルニア州の市街に特定の店舗を持っている場合、顧客がいずれかの店舗から1000mの近接度に入ったら、すぐにプロモーション・メッセージを送信できます。
図proximity_stream_geofence.pngの説明
次のパラメータに適切な値を指定します。
-
ジオフェンス: 分析するジオフェンスを選択します。
-
緯度: 緯度の適切な値を選択します。これは必須パラメータです。
-
経度: 経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー: オブジェクト・キーに適切な値を選択します。これは必須パラメータです。
-
座標系: デフォルト値は8307で、この値のみがサポートされます。
-
距離バッファ: 距離バッファの近接度の値を入力します。このフィールドは、イベントのフィルタ基準として機能し、この距離内に収まらないイベント(イベント間の距離が選択した距離バッファを超える場合)は、結果セットから除外されます。この値は、10000km未満である必要があります。
送信形状では、別の列に「距離」が表示されます(これは、受信形状とともに検討対象のオブジェクトとジオフェンス間の距離です)。
「方向」パターンについて
このパターンを使用して、移動オブジェクトの方向を取得します。
たとえば、移動するトラックの方向を評価できます。
次のパラメータに適切な値を指定します。
-
緯度: 緯度の適切な値を選択します。これは必須パラメータです。
-
経度: 経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー: オブジェクト・キーに適切な値を選択します。これは必須パラメータです。
-
座標系: デフォルト値は8307で、この値のみがサポートされます。
注意:
すでに受信ストリームの一部となっている名前をフィールドに使用しないでください。送信形状では、列の1つに「方向」が表示されます(これは、受信形状とともにString
型です)。
「ジオフェンス」パターンについて
オブジェクトと、ジオフェンスと呼ばれる仮想境界との関係をトラッキングする場合に、このパターンを使用します。
関係は、ジオフェンスに対してEnter
、Exit
、Stay
またはNear
のいずれかです。たとえば、オブジェクトがジオフェンスに入ったときに、アラートをトリガーできます。また、地理ロケーション・データを含むストリームを分析することもできます。これにより、イベントがジオフェンス内の多角形にどのように関係しているかを判断できます。
地理ロケーションは次のとおりです。
-
ジオフェンスの近隣
-
ジオフェンスからの退出
-
指定した期間ジオフェンス内に滞在
-
ジオフェンスへの侵入
次のパラメータに適切な値を指定します。
-
ジオフェンス
-
緯度
-
経度
-
オブジェクト・キー
-
トラッキング・イベント
-
近隣
-
進入
-
退出
-
滞在
-
-
座標系
-
距離バッファ — このパラメータが有効になるのは、トラッキング・イベントで近隣オプションを選択した場合のみです。このフィールドは、結果をフィルタするためのバッファとして機能します。ジオフェンスから指定した距離内に存在するイベントまたはオブジェクトのみが、
近隣
というステータス付きでイベント表に表示されます。この値は、10000km未満である必要があります。 -
滞在期間 — このパラメータが有効になるのは、トラッキング・イベントで滞在を選択した場合のみです。滞在期間を指定でき、この期間はジオフェンス内のオブジェクトに対するフィルタとして機能します。オブジェクトが指定した期間を超えて滞在している場合のみ、イベントが考慮され、それ以外のイベントは除外されます。
送信形状には、受信形状とともに出力の2つの追加列として「ステータス」および場所名が表示されます(「ステータス」は、オブジェクトがジオフェンスに対してどのように振る舞うかに基づき、Enter
、Exit
、Stay
またはNear
のいずれかになります)。場所名は、ステータスが評価されるジオフェンスの名前です。
「ジオフィルタ」パターンについて
仮想境界内のオブジェクトをトラッキングする場合に、このパターンを使用します。
たとえば、ユーザーがある地理的位置から別の位置に移動する場合、指定したジオフェンス内に入ったときに、ユーザーにプロモーション・メッセージを送信できます。
次のパラメータに適切な値を指定します。
-
ジオフェンス — 分析する既存のジオフェンスを1つ選択します。これは必須フィールドです。
-
緯度 — 緯度の適切な値を選択します。これは必須パラメータです。
-
経度 — 経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー — オブジェクト・キーに適切な値を選択します。このフィールドは、パーティション化基準として機能し、オブジェクトを一意に識別するためにも使用されます。これは必須パラメータです。
-
座標系 — デフォルト値は8307で、この値のみがサポートされます。
送信形状には、受信形状とともに出力の2つの追加列として「ステータス」および場所名が表示されます(「ステータス」は、オブジェクトがジオフェンス内に存在する場合はInside
となり(それ以外ではイベントは考慮されません)、場所名はステータスが評価されるジオフェンスの名前です)。
「逆ジオコード: 近隣」パターンについて
これを使用して、指定した地理座標に対して最も近い場所を取得します。
「システム設定」でプロキシの詳細が設定されていることを確認してください。
次のパラメータに適切な値を指定します。
-
緯度 — 緯度の適切な値を選択します。これは必須パラメータです。
-
経度 — 経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー — オブジェクト・キーに適切な値を選択します。これは必須パラメータです。
-
座標系 — デフォルト値は8307で、この値のみがサポートされます。
送信形状には、受信形状とともに追加列として場所名が表示されます。この列は、指定した経度と緯度に最も近い場所です。
「逆ジオコード: 近隣の場所」パターンについて
このパターンを使用して、指定した緯度と経度に対して国、市町村、番地などの粒度情報を持つ近隣の場所を取得します。
「システム設定」でプロキシの詳細が設定されていることを確認してください。
図reverse_code_near_by_place.pngの説明
次のパラメータに適切な値を指定します。
-
緯度 — 緯度の適切な値を選択します。これは必須パラメータです。
-
経度 — 経度の適切な値を選択します。これは必須パラメータです。
-
オブジェクト・キー — オブジェクト・キーに適切な値を選択します。これは必須パラメータです。
-
座標系 — デフォルト値は8307で、この値のみがサポートされます。
送信形状には、座標(latitude
、longitude
)に対応する場所の追加列が表示されます- houseNumber
、street
、city
、region
、country
およびpostal code
。
「相関」パターンについて
2つの数値パラメータ間の相関を識別する必要がある場合、このパターンを使用します。
次のパラメータに適切な値を指定します。
-
パーティション基準: パーティション化の基準となるフィールド。
-
監視可能なパラメータ1: 相関の識別に使用する第1の値。
-
監視可能なパラメータ2: 相関の識別に使用する第2の値。
-
ウィンドウ: 相関を識別する期間となるローリング期間。
-
スライド: データのリフレッシュ頻度。
送信形状は、受信形状と同じです。
「分位」パターンについて
分位関数の値を計算する必要がある場合、このパターンを使用します。
次のパラメータに適切な値を指定します。
-
パーティション基準: パーティション化の基準となるフィールド。
-
監視可能なパラメータ: 分位を計算するための監視可能な対象。
-
ファイ分位: 選択したイベント・ストリームの分位を計算するために使用する値。
-
ウィンドウ: イベントを収集し、分位を計算する期間となるローリング期間。
-
スライド: 新しく更新された出力がダウンストリームとブラウザにプッシュされる頻度。
送信形状は、受信形状と同じです。
「標準偏差」パターンについて
このパターンを使用して、選択された値と期待値との標準偏差を計算します。
次のパラメータに適切な値を指定します。
-
パーティション基準: パーティション化の基準となるフィールド。
-
監視可能なパラメータ: 標準偏差の識別に使用する値。
-
ウィンドウ: 標準偏差を識別する期間となるローリング期間。
-
スライド: データのリフレッシュ頻度。
送信形状は、受信形状と同じです。
「中央値」パターンについて
このパターンを使用して、特定のパラメータに関するイベント・ストリームの中央値を計算します。
次のパラメータに適切な値を指定します。
-
パーティション基準: パーティション化の基準となるフィールド。
-
監視可能なパラメータ: 中央値を計算するための監視可能な対象。
-
ウィンドウ: イベントを収集し、中央値を計算する期間となるローリング期間。
-
スライド: 新しく更新された出力がダウンストリームとブラウザにプッシュされる頻度。
送信形状は、受信形状と同じです。
「重複の検出」パターンについて
「重複の検出」パターンは、指定された基準に従って、指定された時間ウィンドウ内でストリームの重複イベントを検出します。イベントは、考慮される重複と一部または全部が等しくなる可能性があります。
このパターンを使用して、ストリームに含まれる重複イベントの数を把握します。たとえば、集計に食い違いがあると疑われる場合、ストリームで重複イベントをチェックできます。
次のパラメータに適切な値を指定します。
-
重複基準: フィールドのリストで、その値は、同一の値を検出するためにイベント間で比較されます。構成されたすべてのフィールドに同一の値がある場合、受信イベントは重複とみなされ、送信イベントが起動されます。
-
ウィンドウ: 重複を検索する範囲となる期間。たとえば、ウィンドウを10秒に設定した場合、最初のイベントから9秒後に到着した重複イベントは、送信イベントをトリガーしますが、最初のイベントから11秒後に到着した重複イベントは、送信イベントをトリガーしません。
送信形状
送信形状は、受信形状と同じですが、Number_of_Duplicates
というフィールドが1つ追加されています。この追加フィールドは、検出された重複イベントの数を伝達します。他のすべてのフィールドには、最後の重複イベントの値が含まれます。
「変更検出」パターンについて
「変更検出」パターンは、イベント・フィールドの値の変更を検出して、指定された範囲ウィンドウ内で発生した変更をレポートします。たとえば、フィールドfield1
に値value1
を含むイベントが到着したとします。指定された範囲ウィンドウ内で引き続き到着した受信イベントのいずれかに、value1
とは異なる値が含まれていた場合、アラートがトリガーされます。変更を検出するための複数のフィールドを指定できます。
通常は固定している値の変更を認識する必要がある場合に、これを使用します。たとえば、一定の期間は同じであると予想されるセンサー信号がある場合、その信号の変更は問題を示している可能性があります。
このパターン・ステージのデフォルト構成では、選択した任意のフィールドの変更時にアラートが送信されます。
図change_detector_pattern.pngの説明
次のパラメータに適切な値を指定します。
-
パーティション基準: ストリームのパーティション化の基準となるフィールド。たとえば、ストリームに、複数のセンサーによるイベントの問題が含まれるとします。すべてのセンサーが、同じであるが別個のデータを送信します。センサーの信号を、(異なるセンサーからのものである可能性が高い)ストリームの前のイベントではなく、同じセンサーの前の信号と比較する場合があります。センサーIDのように、センサーを一意に識別するフィールドを選択します。このフィールドは省略可能です。たとえば、ストリームに1つのセンサーからの信号のみが含まれる場合、データをパーティション化する必要はありません。
-
ウィンドウ範囲: 指定したフィールドの値の変更を比較する範囲となる期間。たとえば、ウィンドウ範囲を10秒に設定した場合、初期イベントから10秒以内に到着したイベントの監視対象フィールドに変更が含まれていると、アラートがトリガーされます。クロックは、初期イベントから開始されます。
-
変更基準: フィールドのリストで、その値は、変更を検出するためにイベント間で比較されます。フィールドに変更が含まれない場合、アラートは生成されません。
-
グループ変更時にアラート: このパラメータは、デフォルトのグループ変更のサポートに対応します。これが
「オフ」
の場合、少なくとも1つのフィールドが変更されると、アラートが送信されます。これが「オン」
の場合、すべてのフィールドが変更されると、アラートが送信されます。
送信形状
送信形状は、受信形状に基づきますが、パーティション基準パラメータのフィールドを除くすべてのフィールドが、初期イベント値と変更イベント値の両方を伝達するために複製されるところが異なります。次に例を示します。受信イベントには、次のフィールドが含まれます。
-
sensor_id
-
temperature
-
pressure
-
location
通常、データをパーティション化するためにsensor_idを使用しますが、温度の変化も検出するとします。この場合、パーティション基準パラメータにsensor_idを選択し、変更基準パラメータにtemperatureを選択します。使用例に適した範囲ウィンドウを使用します。このシナリオでは、次の送信形状になります。
-
sensor_id
-
temperature
-
orig_temperature
-
pressure
-
orig_pressure
-
location
-
orig_location
orig_フィールドは、初期イベントからの値を伝達します。このシナリオの場合、temperature
とorig_temperature
の値は異なりますが、pressureとorig_pressure
、location
とorig_location
は、同じ値の可能性があります。
「W」パターンについて
「W」パターンは、ダブルボトム・チャート・パターンとも呼ばれ、金融取引マーケットのテクニカル分析に使用されます。
このパターンを使用して、指定された時刻ウィンドウ内のいつ、イベント・データ・フィールド値が上昇および下降してWを描くかを検出します。たとえば、市場データ・フィードの株価の動きをモニタリングして買/売/ホールドの評価を決定する場合に、このパターンを使用します。
次のパラメータに適切な値を指定します。
-
パーティション基準: ストリームのパーティション化の基準となるフィールド。たとえば、株式銘柄コードです。
-
ウィンドウ: 指定したフィールドの値がW形状であることを分析する範囲となる期間。
-
トラッキング値: その値がW形状であることを分析するフィールド。
送信形状
送信形状は、5つの新規フィールドが追加された受信形状に基づきます。新しいフィールドは次のとおりです。
-
firstW
-
firstValleyW
-
headW
-
secondValleyW
-
lastW
新しいフィールドは、フィードで検出されたW形状のトラッキング値の終端の点に対応します。元のフィールドは、「W」パターンの最後のイベントに対応します。
「Bが後に続くA」パターンについて
「Bが後に続くA」パターンは、前後に続く特定のイベントを検出し、指定した順序でイベントが発生した場合にイベントを出力します。
フロー内で発生するイベントの特定の連続を認識する必要がある場合に、これを使用します。たとえば、注文ステータスBOOKED
の後に(ステータスPAID
をスキップして)注文ステータスSHIPPED
が続いた場合、アラートを起動する必要があります。
図a_followed_by_b_pattern.pngの説明
次のパラメータに適切な値を指定します。
-
パーティション基準: (オプション)ストリームのパーティション化の基準となるフィールド。前述の注文の例では、通常は
order_id
です。 -
状態A: フィールド: その値が2つのイベントの比較に使用される初期状態フィールド。この例では、
order_status
です。 -
状態A: 値: 初期状態フィールドの値。この例では、
BOOKED
です。 -
状態B: フィールド: その値が2つのイベントの比較に使用される、連続する状態フィールド。この例では、前と同じ
order_status
です。 -
状態B: 値: 連続する状態フィールドの値。この例では、
SHIPPED
です。 -
期間: 状態の変更を検出する範囲となる期間。
送信形状
送信形状は、受信形状に基づきます。ナノ秒単位で各状態間の時間間隔の値を伝達する新しいabInterval
フィールドが追加されます。また、パーティション基準フィールド以外のすべてのフィールドが、A状態とB状態の両方の値を伝達するために複製されます。たとえば、次の受信形状があるとします。
-
order_id
-
order_status
-
order_revenue
この場合、次の送信形状が取得されます。
-
order_id
-
abInterval
-
order_status
(これは、ストリームのパーティション化の基準となる値です) -
aState_order_status
(これは、状態Aのorder_statusの値であり、この例では'BOOKED'です) -
order_revenue
(これは、状態Bのorder_revenueの値です) -
aState_order_revenue
(これは、状態Aのorder_revenueの値です)
「上位N」パターンについて
「上位N」パターンは、指定された時間ウィンドウ内に到着したイベントのコレクションから最大の値を持つN個のイベントを出力し、到着のデフォルト順序ではなくユーザーが指定した方法でソートします。
指定された時間ウィンドウ内でストリームのフィールドの最大値を取得する場合に、これを使用します。たとえば、これを使用して、圧力センサー信号のN個の最大値を取得します。
次のパラメータに適切な値を指定します。
-
ウィンドウ範囲: イベントを収集し、順序付け基準に従って並べ替える期間となるローリング期間。
-
ウィンドウ・スライド: 新しく更新された出力がダウンストリームとブラウザにプッシュされる頻度。
-
順序付け基準: イベントのコレクションを順序付けるために使用するフィールドのリスト。
-
イベント数: 出力する上位値イベントの数。
送信形状は、受信形状と同じです。
「下位N」パターンについて
「下位N」パターンは、指定された時間ウィンドウ内に到着したイベントのコレクションから最小の値を持つN個のイベントを出力し、到着のデフォルト順序ではなくユーザーが指定した方法でソートします。
指定された時間ウィンドウ内でストリームのフィールドの最小値を取得する場合に、これを使用します。たとえば、これを使用して、圧力センサー信号のN個の最小値を取得します。
次のパラメータに適切な値を指定します。
-
ウィンドウ範囲: イベントを収集し、順序付け基準に従って並べ替える期間となるローリング期間。
-
ウィンドウ・スライド: 新しく更新された出力がダウンストリームとブラウザにプッシュされる頻度。
-
順序付け基準: イベントのコレクションを順序付けるために使用するフィールドのリスト。
-
イベント数: 出力する下位値イベントの数。
送信形状は、受信形状と同じです。
「上昇トレンド」パターンについて
「上昇トレンド」パターンは、ある期間にわたり数値が一定に上昇している状況を検出します。
数値の1つが恒常的に増加している状況を検出する必要がある場合、このパターンを使用します。たとえば、いずれかのセンサーの圧力が一定に上昇していることを検出します。
次のパラメータに適切な値を指定します。
-
パーティション基準: ストリームのパーティション化の基準となるフィールド。たとえば、ストリームに、複数のセンサーによるイベントの問題が含まれるとします。すべてのセンサーが、同じであるが別個のデータを送信します。センサーの信号を、(異なるセンサーからのものである可能性が高い)ストリームの前のイベントではなく、同じセンサーの前の信号と比較する場合があります。センサーIDのように、センサーを一意に識別するフィールドを選択します。このフィールドは省略可能です。たとえば、ストリームに1つのセンサーからの信号のみが含まれる場合、データをパーティション化する必要はありません。
-
期間: 指定したフィールドの値が上昇トレンドであることを分析する範囲となる期間。
-
トラッキング値: その値が上昇トレンドであることを分析するフィールド。
送信形状
送信形状は、2つの新規フィールドが追加された受信形状に基づきます。たとえば、受信イベントに次のフィールドが含まれるとします。
-
sensor_id
-
temperature
-
pressure
-
location
通常、データをパーティション化するためにsensor_id
を使用しますが、温度の上昇トレンドも検出するとします。この場合、パーティション基準パラメータにsensor_id
を選択し、トラッキング値パラメータにtemperatureを選択します。使用例に適した期間を使用します。このシナリオでは、次の送信形状になります。
-
sensor_id
-
startValue
(これは、トレンドが開始する温度の値です) -
endValue
(これは、トレンドが終了する温度の値です) -
temperature
(最後のイベントの値です) -
pressure
(最後のイベントの値です) -
location
(最後のイベントの値です)
「Bが後に続かないA」パターンについて
「Bが後に続かないA」パターンは、イベントの特定の組合せで2番目のイベントが欠落していることを検出し、指定された期間内に予測される2番目のイベントが到着しない場合、最初のイベントを出力します。
フロー内で特定のイベントがその先行イベントに続かないことを認識する必要がある場合に、これを使用します。たとえば、注文ステータスBOOKED
の後に注文ステータスPAID
が一定の期間内に続かない場合、アラートを起動することができます。
図a_not_followed_by_b_pattern.pngの説明
次のパラメータに適切な値を指定します。
-
パーティション基準: (オプション)ストリームのパーティション化の基準となるフィールド。前述の注文の例では、通常は
order_id
です。 -
状態A: フィールド: その値が2つのイベントの比較に使用される初期状態フィールド。この例では、
order_status
です。 -
状態A: 値: 初期状態フィールドの値。この例では、
BOOKED
です。 -
状態B: フィールド: その値が2つのイベントの比較に使用される、連続する状態フィールド。この例では、前と同じ
order_status
です。 -
状態B: 値: 連続する状態フィールドの値。この例では、
SHIPPED
です。 -
期間: 状態の変更を検出する範囲となる期間。
送信形状
送信形状は、受信形状と同じです。指定された時間ウィンドウ内に2番目(状態B)のイベントが到着しない場合、最初(状態A)のイベントが出力にプッシュされます。
「Aが先行しないB」パターンについて
「Aが先行しないB」パターンは、イベントの特定の組合せでイベントが欠落していることを検出し、2番目のイベントが最初のイベントに先行しないことが判明すると、最初のイベントを出力します。
フロー内で特定のイベントが別のイベントに先行されないことを認識する必要がある場合に、これを使用します。たとえば、注文ステータスBOOKED
の前に注文ステータスPAID
が一定の期間内に先行しない場合、アラートを起動することができます。
図b_not_preceded_by_a_pattern.pngの説明
次のパラメータに適切な値を指定します。
-
パーティション基準: (オプション)ストリームのパーティション化の基準となるフィールド。前述の注文の例では、通常は
order_id
です。 -
状態A: フィールド: その値が2つのイベントの比較に使用される初期状態フィールド。この例では、
order_status
です。 -
状態A: 値: 初期状態フィールドの値。この例では、
BOOKED
です。 -
状態B: フィールド: その値が2つのイベントの比較に使用される、連続する状態フィールド。この例では、前と同じ
order_status
です。 -
状態B: 値: 連続する状態フィールドの値。この例では、
PAID
です。 -
期間: 状態の変更を検出する範囲となる期間。
送信形状
送信形状は、受信形状と同じです。指定された時間ウィンドウ内に2番目(状態B)のイベントが到着しない場合、最初(状態A)のイベントが出力にプッシュされます。
「下降トレンド」パターンについて
「下降トレンド」パターンは、ある期間にわたり数値が一定に下降している状況を検出します。
数値の1つが恒常的に減少している状況を検出する必要がある場合、このパターンを使用します。たとえば、いずれかのセンサーの圧力が一定に下降していることを検出します。
次のパラメータに適切な値を指定します。
-
パーティション基準: ストリームのパーティション化の基準となるフィールド。たとえば、ストリームに、複数のセンサーによるイベントの問題が含まれるとします。すべてのセンサーが、同じであるが別個のデータを送信します。センサーの信号を、(異なるセンサーからのものである可能性が高い)ストリームの前のイベントではなく、同じセンサーの前の信号と比較する場合があります。センサーIDのように、センサーを一意に識別するフィールドを選択します。このフィールドは省略可能です。たとえば、ストリームに1つのセンサーからの信号のみが含まれる場合、データをパーティション化する必要はありません。
-
期間: 指定したフィールドの値が下降トレンドであることを分析する範囲となる期間。
-
トラッキング値: その値が下降トレンドであることを分析するフィールド。
送信形状
送信形状は、2つの新規フィールドが追加された受信形状に基づきます。次に例を示します。受信イベントには、次のフィールドが含まれます。
-
sensor_id
-
temperature
-
pressure
-
location
通常、データをパーティション化するためにsensor_id
を使用しますが、温度の下降トレンドも検出するとします。この場合、パーティション基準パラメータにsensor_id
を選択し、トラッキング値パラメータにtemperatureを選択します。使用例に適した期間を使用します。このシナリオでは、次の送信形状になります。
-
sensor_id
-
startValue
(これは、トレンドが開始する温度の値です) -
endValue
(これは、トレンドが終了する温度の値です) -
temperature
(最後のイベントの値です) -
pressure
(最後のイベントの値です) -
location
(最後のイベントの値です)
パターンは、入力/選択したデータに基づいて、視覚的に表されます。
「論理和」パターンについて
「論理和」パターンは、同一の形状を持つ2つのストリームを1つにマージします。
同一の形状を持つ2つのストリームを1つにマージする場合、このパターンを使用します(たとえば、2つの同様のセンサーが2つの異なるストリームにデータを送信しており、それらを1つのパイプラインで同時に処理する場合です)。
次のパラメータに適切な値を指定します。
-
第2イベント・ストリーム: プライマリ・ストリームとマージするストリーム。必ず同一の形状のストリームを選択してください。
送信形状は、受信形状と同じです。
「変動」パターンについて
このパターンを使用して、イベント・データ・フィールド値が、特定の時間ウィンドウの範囲内で、いつ特定の上方向または下方向への変更を示すかを検出します。たとえば、このパターンを使用して、油圧値の多様な変化が許容範囲内に保たれていることを特定します。
次のパラメータに適切な値を指定します。
-
パーティション基準: パーティション化の基準となるフィールド。
-
トラッキング値: この値は、イベント・データをトラッキングし、ライブ出力ストリームでパターンを作成するために使用されます。
-
ウィンドウ: データのリフレッシュ頻度となるローリング期間。
-
偏差しきい値%: この値は、パターンに含める偏差のパーセンテージを示します。これは、パイプラインが一致するパターンを検索する間隔です。
送信形状は、受信形状と同じです。
「逆W」パターンについて
「逆W」パターンは、ダブルトップ・チャート・パターンとも呼ばれ、金融取引マーケットのテクニカル分析に使用されます。
グラフィカルな形式で金融データを参照する場合に、このパターンを使用します。
次のパラメータに適切な値を指定します。
-
パーティション基準: ストリームのパーティション化の基準となるフィールド。たとえば、株式銘柄コードです。
-
ウィンドウ: 指定したフィールドの値が逆W形状であることを分析する範囲となる期間。
-
トラッキング値: その値が逆W形状であることを分析するフィールド。
送信形状
送信形状は、5つの新規フィールドが追加された受信形状に基づきます。新しいフィールドは次のとおりです。
-
firstW
-
firstPeakW
-
headInverseW
-
secondpeakW
-
lastW
新しいフィールドは、フィードで検出された逆W形状のトラッキング値の終端の点に対応します。元のフィールドは、「逆W」パターンの最後のイベントに対応します。
「重複排除」パターンについて
「重複排除」パターンは、指定された時間ウィンドウ内でストリームの重複イベントを検出し、最初の出現イベント以外はすべて削除します。重複イベントとは、1つ以上のフィールドの値が、別のイベントの同じフィールドの値と同一であるイベントです。重複値を分析するフィールドをどれにするかは、自由に指定できます。パターンを構成して、1つのフィールドのみを比較することも、イベント全体を比較することもできます。
ストリームのノイズを排除する場合に、これを使用します。件数などの集計に影響する可能性のある重複がストリームに含まれることがわかっている場合、「重複排除」パターンを使用してデータをクレンジングします。
次のパラメータに適切な値を指定します。
-
重複基準: フィールドのリストで、その値は、同一の値を検出するためにイベント間で比較されます。構成されたすべてのフィールドに同一の値が含まれる場合、2番目、3番目および後続のイベントは、削除されます。
-
ウィンドウ: 重複を破棄する範囲となる期間。たとえば、ウィンドウを10秒に設定した場合、最初のイベントから9秒後に到着した重複イベントは、破棄されますが、最初のイベントから11秒後に到着した重複イベントは、そのまま受け入れられます。
送信形状は、受信形状と同じです。
「欠落イベントの検出」パターンについて
「欠落イベントの検出」パターンは、予期されるイベントが欠落している単純な状況を検出します。
フィードで欠落イベントを検出する必要がある場合、このパターンを使用します。たとえば、複数のセンサーが5秒ごとに信号を送信するフィードがあるとします。このパターンを使用して、信号の送信を停止したセンサーを検出します(この場合、センサーが破損したか、センサーへの接続が失われた可能性があります)。
図detect_missing_heartbeat_pattern.pngの説明
次のパラメータに適切な値を指定します。
-
パーティション基準: ストリームのパーティション化の基準となるフィールド。たとえば、ストリームに、複数のセンサーによるイベントの問題が含まれるとします。すべてのセンサーが、同じであるが別個のデータを送信します。センサーの信号を、(異なるセンサーからのものである可能性が高い)ストリームの前のイベントではなく、同じセンサーの前の信号と比較する場合があります。センサーIDのように、センサーを一意に識別するフィールドを選択します。このフィールドは省略可能です。たとえば、ストリームに1つのセンサーからの信号のみが含まれる場合、データをパーティション化する必要はありません。
-
ハートビート間隔: 欠落イベントを検出する範囲となる期間。最後のイベント以降、ハートビート間隔内にセンサーからのイベントが発生しない場合、アラートがトリガーされます。
送信形状
送信形状は、受信形状と同じです。ハートビートの欠落がない場合、イベントは出力されません。ハートビートの欠落がある場合、ハートビート間隔の計算に使用された前のイベントが出力されます。
「左の外部結合」パターンについて
「左の外部結合」パターンは、左側外部結合のセマンティクスを使用して、フローを別のストリームまたは参照と結合します。
このパターンを使用して、左側外部結合のセマンティクスを通じてストリームまたは参照を結合します。このパターンの結果には、結合条件で右側の表に一致するデータを検出できない場合でも、必ず左側の表のデータが含まれます。
図create_left_outer_join_pattern.pngの説明
次のパラメータに適切な値を指定します。
-
エンリッチ参照/ストリーム: フローに結合するストリームまたは参照。
-
相関基準: ストリーム/参照を結合する基準となるフィールド。
-
プライマリ・ストリームのウィンドウ範囲: プライマリ・フローのイベントのコレクションをエンリッチ・ストリーム/参照と結合するために使用するローリング時間ウィンドウ。
-
プライマリ・ストリームのウィンドウ・スライド: データがダウンストリームとUIにプッシュされる頻度。
-
エンリッチ・ストリームのウィンドウ範囲: エンリッチ・ストリームのイベントのコレクションをプライマリ・フローと結合するために使用するローリング時間ウィンドウ。参照が使用される場合は無効です。
-
エンリッチ・ストリームのウィンドウ・スライド: データがダウンストリームとUIにプッシュされる頻度。参照が使用される場合は無効です。
送信形状は、2つの受信形状の合計に基づきます。