ウィンドウクエリ - Amazon Kinesis Data Analytics for SQL Applications 開発者ガイド

新規プロジェクトでは、Kinesis Data Analytics for SQL よりも 新しい Managed Service for Apache Flink Studio を使用することをお勧めします。Managed Service for Apache Flink Studio は、使いやすさと高度な分析機能を兼ね備えているため、高度なストリーム処理アプリケーションを数分で構築できます。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ウィンドウクエリ

アプリケーションコードの SQL クエリはアプリケーション内ストリームに対して連続で実行されます。アプリケーション内ストリームとは、アプリケーション内を常時流れる未バインドのデータのことです。したがって、常時更新されているこの入力から結果セットを得るために、時間と行の条件で定義されるウィンドウを使用してクエリをバインドする場合が多くあります。これらはウィンドウ SQL とも呼ばれます。

時間ベースのウィンドウクエリの場合は、ウィンドウのサイズを時間で (たとえば、1 分のウィンドウ) 指定します。これには、一定間隔で増加するアプリケーション内ストリームにタイムスタンプ列が必要です。(新しい行のタイムスタンプが前の行と同じまたは前の行より大きい)。Amazon Kinesis Data Analytics は、各アプリケーション内ストリームに ROWTIME というタイムスタンプ列を提供します。時間ベースのクエリを指定するとき、この列を使用できます。アプリケーションで、他のタイムスタンプオプションを選択する場合もあります。詳細については、「タイムスタンプと ROWTIME 列」を参照してください。

行ベースのウィンドウクエリの場合は、列数の条件でウィンドウサイズを指定します。

アプリケーションの必要に応じて、タンブリングウィンドウ、スライディングウィンドウ、またはずらしウィンドウ方式でレコードを処理するクエリを指定できます。Kinesis Data Analytics では、次のウィンドウタイプがサポートされています。

  • Stagger Windows: データが届くと開く、キー付けされた時間ベースのウィンドウを使用してデータを集計するクエリ。キーによって、複数の重なり合うウィンドウが可能になります。これは、時間ベースのウィンドウを使用してデータを集約するための推奨される方法です。Sstagger Windows はタンブリングウィンドウに比べて遅延や out-of-order データを減らすためです。

  • タンブリングウィンドウ: 定期的に開閉する、個別の時間ベースのウィンドウを使用してデータを集計するクエリ。

  • スライディングウィンドウ: 固定時間または rowcount 間隔を使用して、データを継続的に集計するクエリ。