タイムスタンプ調整機能では次の流れでタプルの時刻を調整します。
タプルの保留および入力ストリームへの入力では,基準時刻やタプルのレコードに設定された時刻,指定する時刻単位などによってタプルの時刻の調整方法,および入力ストリームへの入力順序が異なります。ここでは,タプルの時刻の調整方法,および入力ストリームへの入力順序について説明します。
ここでは,次の場合に分けて,タプルの時刻の調整方法について説明します。
図11-27 クエリグループ開始後の最初のタプルの例
図11-28 タプルのレコードに設定された時刻が基準時刻よりも未来の例
図11-29 タプルのレコードに設定された時刻が調整する時刻の範囲内の例
図11-30 タプルのレコードに設定された時刻が調整する時刻範囲より過去の例
タイムスタンプ調整機能によって時刻を調整されたタプルは,タイムスタンプ調整機能で設定されたタイムスタンプの昇順で入力ストリームに入力されます。また,同じタイムスタンプを持つタプルが複数あった場合は,SDPサーバに到着した順序で入力ストリームに入力されます。
このとき,タイムスタンプ調整機能で調整する時刻単位と範囲が異なると,同じストリームデータの場合でも,入力ストリームへのタプルの入力順序が異なります。
ここでは,調整する時刻単位と範囲の組み合わせの例ごとに,タイムスタンプ調整機能で設定されるタプルのタイムスタンプと,入力ストリームへのタプルの入力順序について説明します。
ここで説明する例では,次の表に示すAからEのタプルが,入力アダプターから送信されたとします。
タプル | 入力アダプターからの送信順 | タプルのレコードに設定された時刻 |
---|---|---|
A | 1 | 2009/03/01 12:15:22:345678901 |
B | 2 | 2009/03/01 12:15:22:123456789 |
C | 3 | 2009/03/01 12:15:23:123456789 |
D | 4 | 2009/03/01 12:15:22:890123456 |
E | 5 | 2009/03/01 12:15:24:123456789 |
タプル | 入力順 | タイムスタンプ調整機能で設定したタイムスタンプ |
---|---|---|
A | 1 | 2009/03/01 12:15:22:000000000 |
B | 2 | 2009/03/01 12:15:22:000000000 |
C | 4 | 2009/03/01 12:15:23:000000000 |
D | 3 | 2009/03/01 12:15:22:000000000 |
E | 5 | 2009/03/01 12:15:24:000000000 |
タプル | 入力順 | タイムスタンプ調整機能で設定したタイムスタンプ |
---|---|---|
A | 2 | 2009/03/01 12:15:22:345000000 |
B | 1 | 2009/03/01 12:15:22:123000000 |
C | 4 | 2009/03/01 12:15:23:123000000 |
D | 3 | 2009/03/01 12:15:22:890000000 |
E | 5 | 2009/03/01 12:15:24:123000000 |
タプル | 入力順 | タイムスタンプ調整機能で設定したタイムスタンプ |
---|---|---|
A | 1 | 2009/03/01 12:15:22:345678000 |
B | 破棄 | 設定されません。 |
C | 2 | 2009/03/01 12:15:23:123456000 |
D | 破棄 | 設定されません。 |
E | 3 | 2009/03/01 12:15:24:123456000 |
タプル | 入力順 | タイムスタンプ調整機能で設定したタイムスタンプ |
---|---|---|
A | 1 | 2009/03/01 12:15:22:000000000 |
B | 2 | 2009/03/01 12:15:22:000000000 |
C | 3 | 2009/03/01 12:15:22:000000000 |
D | 破棄 | 設定されません。 |
E | 4 | 2009/03/01 12:15:23:000000000 |