Amazon Web Services ブログ
Amazon Kinesis Data Analytics が東京リージョンで利用可能になりました
2019年5月、Amazon Kinesis Data Analytics が東京リージョンで利用できるようになりました。
これまで、東京リージョンにあるデータソース(Amazon Kinesis Data Streams または Amazon Kinesis Data Firehose)を Kinesis Data Analytics に接続するためには、リージョンを跨いで接続する必要がありました。Kinesis Data Analytics が東京リージョンで利用可能となったことにより、日本国内にあるデータソースと接続しやすくなり、ストリームデータ分析の環境をよりシンプルに構築できるようになりました。
Kinesis Data Analytics では、ストリーミングデータをリアルタイムに分析できるため、ビジネス上の素早いアクションが可能になります。今日では、Web・モバイルアプリケーションからのクリックストリームデータ、サーバーのアプリケーションログなど様々なデータソースから継続的にデータが生成されています。Kinesis Data Analytics は、新しいプログラミング言語や処理フレームワークを習得することなく、標準 SQL や Java (Apache Flink) でストリーミングデータをリアルタイムに分析することができます。また、フルマネージドサービスであり、受信データのボリュームとスループットレートに応じて自動的にスケールします。クエリで使用されるリソースのみが課金の対象となり、最低料金や初期費用はありません。
いくつかユースケースをご紹介します。
ユースケース
1. リアルタイムログ分析
Webサイトのクリックストリームデータを Kinesis Data Analytics に送信して、主要なメトリクスを計算することができます。例えば、ニュースサイトにおいては記事の鮮度が重要であり、新しい記事をできるだけ早くユーザーに届ける必要があります。ニュース配信アプリを提供しているGunosy様では、ユーザーのアクティビティログを元にパーソナライズされたニュース配信を行うための基盤として、Kinesis Data Analytics をご利用いただいています。Kinesis Data Streams と Kinesis Data Analytics を組み合わせて、1分あたり50万件を超えるレコードを処理し、ユーザーのニーズに合った高速でパーソナライズされたニュースキュレーションを実現しています。
2. IoTモニタリング
IoTデバイスが送信したデータをリアルタイムで処理する場合にも有効です。工場内の産業機器から取得したストリームデータを Kinesis Data Analytics で変換、集計、およびフィルタリングすることも可能です。例えば、センサーから取得した値が特定の閾値を上回った場合に、Kinesis Data Analytics を用いて、即時にアラートを発行することができます。あるいは、IoTデバイスから取得したデータストリームに、機械学習のモデルを適用して推論を実行するといったことも可能です。
チュートリアル
Kinesis Data Analytics は AWS Manegement Console から簡単に始めることができます。
この記事では、デモ用の Kinesis Data Streams から Kinesis Data Analytics にデータを送信して、SQL でクエリを実行するところまでをご紹介します。詳細はこちらのチュートリアルにも記載がありますので、ぜひ試してみて下さい。
1. Kinesis Data Analytics のコンソールを開き、[Create application] をクリックします。
2. [Application Name] と [Description] を入力して、[Runtime] には ”SQL” を選択します。
3. SQL の実行元となる Streaming Data を作成します。”Source” より [Connect streaming data] を選択します。
4. ”Configure a new stream” を選択し、Kinesis Data Streams の項目にて、[Create a demo stream] を実行し、デモ用のストリームデータを作成します。
バックグラウンドで Demo Stream の作成が開始されます。
Demo Stream の作成が完了すると、自動的に作成した Kinesis Data Streams が選択されます。その他の設定はデフォルトのままで [Save and continue] を選択します。
5. それでは実際にリアルタイムにSQLクエリを実行します。[Go to SQL editor] を選択します。
選択後、ダイアログが表示されますが、[Yes, start application] を選択し、スタートします。
6. 今回はSQLのテンプレートを用いて、クエリを実行してみます。[Add SQL from templates] をクリックし、”Continuous filter” を選択、[Add this SQL to the editor] を実行します。
7. クエリエディタに、テンプレートの SQL が追加されるので、[Save and run SQL] を実行します。
8. ”DESTINATION_SQL_STREAM” が作成され、クエリを実行できました。
日本語を含むマルチバイト文字のストリーム処理
Kinesis Data Analytics では、UTF-8 でエンコードされたマルチバイト文字を扱うこともできます。ここでは、日本語のマルチバイト文字が含まれるストリームデータに対して、「エラー」という文字列が含まれるレコードを抽出する SQL クエリを実行した画面の例をご紹介します。
東京リージョンの活用とマルチバイト文字を含むストリーム処理によって、日本のお客様がより Kinesis Data Analytics を使いやすくなる環境が整いました。
最後に
Kinesis Data Analytics を利用すれば、簡単にストリームデータの変換や集計、フィルターを適用することができるため、すぐにリアルタイム分析をはじめられます。
ぜひ、東京リージョンで Kinesis Data Analytics をご活用ください!
ソリューションアーキテクト 倉光怜・山﨑翔太