

慎重に検討した結果、Amazon Kinesis Data Analytics for SQL アプリケーションを中止することにしました。

1. **2025 年 9 月 1** 日以降、Amazon Kinesis Data Analytics for SQL アプリケーションのバグ修正は提供されません。これは、今後の廃止によりサポートが制限されるためです。

2. **2025 年 10 月 15** 日以降、新しい Kinesis Data Analytics for SQL アプリケーションを作成することはできません。

3. **2026 年 1 月 27 日**以降、アプリケーションは削除されます。Amazon Kinesis Data Analytics for SQL アプリケーションを起動することも操作することもできなくなります。これ以降、Amazon Kinesis Data Analytics for SQL のサポートは終了します。詳細については、「[Amazon Kinesis Data Analytics for SQL アプリケーションのサポート終了](discontinuation.md)」を参照してください。

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

# Amazon Kinesis Data Analytics for SQL Applications: 仕組み
<a name="how-it-works"></a>

**注記**  
2023 年 9 月 12 日以降、Kinesis Data Analytics for SQL をまだ使用していない場合、Kinesis Data Firehose をソースとして使用して新しいアプリケーションを作成することはできません。詳細については、「[制限](https://docs.aws.amazon.com//kinesisanalytics/latest/dev/limits.html)」を参照してください。

アプリケーションは、アカウントで作成できる Amazon Kinesis Data Analytics のプライマリリソースです。 AWS マネジメントコンソール または Kinesis Data Analytics API を使用して、アプリケーションを作成および管理できます。Kinesis Data Analytics は、アプリケーションを管理するための API オペレーションを提供しています。API オペレーションのリストについては、「[アクション](API_Operations.md)」を参照してください。

Kinesis Data Analytics アプリケーションは、ストリーミングデータをリアルタイムで継続的に読み取り処理します。SQL を使用してアプリケーションコードを記述し、受信ストリーミングデータを処理して出力を生成します。こうすることで、Kinesis Data Analytics が出力を設定された宛先に書き込みます。次の図は、一般的なアプリケーションのアーキテクチャーです。

![データ分析アプリケーション、ストリーミング入力ソース、リファレンスデータ、およびアプリケーション出力を示す図。](http://docs.aws.amazon.com/ja_jp/kinesisanalytics/latest/dev/images/kinesis-app.png)


各アプリケーションには、名前、説明、バージョン ID、ステータスがあります。Amazon Kinesis Data Analytics は、最初にアプリケーションを作成するときに、バージョン ID を割り当てます。このバージョン ID は、アプリケーション設定の更新時に更新されます。例えば、入力設定の追加、リファレンスデータソースの追加または削除、または出力設定の追加または削除、またはアプリケーションコードの更新などの際に、Kinesis Data Analytics によって現在のアプリケーションバージョン ID が更新されます。また、Kinesis Data Analytics はアプリケーションの作成時および最終更新時のタイムスタンプも保持します。

これらの基本プロパティに加えて、各アプリケーションは、以下で構成されます。
+ **入力** – アプリケーションのストリーミングソース。ストリーミングソースとして、Kinesis データストリームと Firehose データ配信ストリームのいずれかを選択できます。入力設定で、アプリケーション内入力ストリームにストリーミングソースをマッピングします。アプリケーション内ストリームは、`SELECT` および `INSERT SQL` オペレーションを実行できる、継続的に更新されるテーブルのようなものです。アプリケーションコードで、中間クエリ結果を保存するための追加のアプリケーション内ストリームを作成することもできます。

   

  オプションで、スループットを向上させるために単一のソースストリーミングを複数のアプリケーション内入力ストリームに分割できます。詳細については、「[制限](limits.md)」および「[アプリケーション入力の設定](how-it-works-input.md)」を参照してください。

   

  Amazon Kinesis Data Analytics は、各アプリケーション内ストリームに [タイムスタンプと ROWTIME 列](timestamps-rowtime-concepts.md) というタイムスタンプ列を提供します。この列は時間ベースウィンドウのクエリで使用できます。詳細については、「[ウィンドウクエリ](windowed-sql.md)」を参照してください。

   

  オプションでリファレンスデータソースを設定してアプリケーション内の入力データストリームを強化できます。これはアプリケーション内リファレンステーブルになります。リファレンスデータは S3 バケット内のオブジェクトとして保存する必要があります。アプリケーションが起動すると、Amazon Kinesis Data Analytics は Amazon S3 オブジェクトを読み取り、アプリケーション内テーブルを作成します。詳細については、「[アプリケーション入力の設定](how-it-works-input.md)」を参照してください。

   
+ **アプリケーションコード** – 入力を処理し出力を生成する一連の SQL ステートメントです。アプリケーション内ストリームおよびリファレンステーブルに対して SQL ステートメントを書くことができます。また、JOIN クエリを作成してこれらのソース両方からのデータを結合できます。

   

  Kinesis Data Analytics でサポートされている SQL 言語要素の詳細については、「[Amazon Kinesis Data Analytics SQL Reference](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/analytics-sql-reference.html)」を参照してください。

   

  最もシンプルな形式のアプリケーションコードは、ストリーミング入力から選択して結果をストリーミング出力に挿入する単一の SQL ステートメントになります。また、1 つのフィードを出力して次の SQL ステートメントに入力する一連の SQL ステートメントになることもあります。さらに、入力ストリームを複数のストリームに分割するためのアプリケーションコードを書くことができます。その後、これらのストリームを処理するために追加のクエリを適用できます。詳細については、「[アプリケーションコード](how-it-works-app-code.md)」を参照してください。

   
+ **出力** – アプリケーションコードでは、クエリ結果はアプリケーション内ストリームに入力されます。アプリケーションコードでは、中間結果を保存する 1 つ以上のアプリケーション内ストリームを作成することもできます。その後、オプションでアプリケーション出力を設定してアプリケーション内ストリームのデータを永続化し、アプリケーション出力 (アプリケーション内出力ストリームともいいます) を外部宛先に保持します。外部宛先には、Firehose 配信ストリームまたは Kinesis データストリームを使用できます。これらの宛先について、次の点に注意してください。
  + Firehose 配信ストリームは、結果を Amazon S3、Amazon Redshift、または Amazon OpenSearch Service (OpenSearch Service) に書き込むように設定できます。

     
  + Amazon S3 や Amazon Redshift ではなく、カスタム宛先に出力するようにアプリケーションを作成することもできます。そのためには、出力環境設定で出力先として Kinesis データストリームを指定します。次に、ストリームをポーリングして Lambda 関数を呼び出す AWS Lambda ように を設定します。Lambda 関数コードはストリームデータを入力として受け取ります。Lambda 関数コードで、入力データをカスタム宛先に書き込むことができます。詳細については、[Amazon Kinesis Data Analytics AWS Lambda での の使用](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html)」を参照してください。

  詳細については、「[アプリケーション出力の設定](how-it-works-output.md)」を参照してください。

以下の点にも注意してください。
+ Amazon Kinesis Data Analytics には、ストリーミングソースからレコードを読み取り、アプリケーション出力を外部宛先に書き込むためのアクセス権限が必要です。IAM ロールを使用してこれらのアクセス権限を付与します。

   
+ Kinesis Data Analytics は自動的に各アプリケーションにアプリケーション内エラーストリームを提供します。特定のレコードの処理中にアプリケーションで問題 (たとえばタイプの不一致や到着の遅延など) が発生した場合、そのレコードはエラーストリームに書き込まれます。あとで評価するために、アプリケーション出力を設定して、Kinesis Data Analytics がエラーストリームデータを外部宛先で永続化するようにできます。詳細については、「[エラー処理](error-handling.md)」を参照してください。

   
+ Amazon Kinesis Data Analytics は、アプリケーション出力レコードを設定された宛先に確実に書き込みます。アプリケーションが中断された場合ても、配信モデルでは「少なくとも 1 回」処理を使用します。詳細については、「[アプリケーション出力を外部宛先で永続化する配信モデル](failover-checkpoint.md)」を参照してください。

**Topics**
+ [アプリケーション入力の設定](how-it-works-input.md)
+ [アプリケーションコード](how-it-works-app-code.md)
+ [アプリケーション出力の設定](how-it-works-output.md)
+ [エラー処理](error-handling.md)
+ [アプリケーションを自動的にスケーリングしてスループットを向上させる](how-it-works-autoscaling.md)
+ [タグ付けの使用](how-tagging.md)