Kinesis Data AnalyticsをKinesis Data Streamsに接続してSQL検索する
2021/08/11
Amazon Kinesis Data StreamsにTwitter検索データを送信するで収集しているツイートをKinesis Data AnalyticsでSQL検索してみます。
目次
Kinesis Data Analyticsアプリケーションの作成
アプリケーションの名前を決めて検索方法をSQLにしました。
Kinesis Data Streamsに接続
[ストリーミングデータを接続]を押下しました。
作成済のKinesis Data Streamを選択しました。
スキーマを検出を実行しました。
検出できました。
SQLを実行
[Go to SQL editor]ボタンを押下しました。
アプリケーション開始のメッセージが表示されるので、[Yes, start application]を押下しました。
テンプレートにサンプルコードがあったのでこれを少し変えました。
|
1 2 3 4 5 6 7 8 9 10 11 12 |
-- Create output stream, which can be used to send to a destination CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ("text" VARCHAR(256),"source" VARCHAR(256), "user_screen_name" VARCHAR(256),"user_name" VARCHAR(256), "user_followers_count" INTEGER); -- Create pump to insert into output CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" -- Select all columns from source stream SELECT STREAM "text", "source", "user_screen_name", "user_name", "user_followers_count" FROM "SOURCE_SQL_STREAM_001" -- LIKE compares a string to a string pattern (_ matches all char, % matches substring) -- SIMILAR TO compares string to a regex, may use ESCAPE WHERE "text" SIMILAR TO '%合格%'; |
そして、再度Twitterからデータを取得してKinesis Data Streamに流してみました。
合格の嬉しい声がたくさん検索されてDESTINATION_SQL_STREAMにINSERTされました。
Twitterの高度検索が思い通りにいかないなあという場合は、Twitterをシンプルに検索した結果をKinesisに流して、Analyticsで検索するのもありですね。
次回はこの結果をKinesis Data FirehoseからS3バケットに保存します。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
リザーブドインスタンス推奨事項を確認した
マネジメントコンソールで[AWSコスト管理]カテゴリの[AWS Cost Exp …
-
-
Amazon BedrockがGAしたので触りました(boto3からも)
Amazon Bedrock Is Now Generally Availabl …
-
-
API GatewayをトリガーにしたときのLambdaリソースベースポリシー
先日、SwaggerからAPI Gatewayを作ったときに、API Gatew …
-
-
CloudWatch インテリジェントオペレーションでこのブログのログを調査してみました
CloudWatch インテリジェントオペレーションを設定しました。 設定 マネ …
-
-
Redmineの添付ファイルをS3に同期する
RedmineをAWS上で構築するデザインを考えていて、せっかくなので冗長化しよ …
-
-
このブログからパブリックIPv4 IPアドレスをなくしてコスト最適化
2024年2月より使用中のパブリックIPv4アドレスに1時間あたり0.005US …
-
-
Rocket.ChatにAWS Lambda(Python)から投稿する
Rocket.ChatにAPIで投稿するテスト(Postman)をやってみて、使 …
-
-
Lambda関数からAWS Systems Managerパラメータストアの値を取得して更新する
Lambda関数で自分自身の環境変数を更新する だと、Lambdaのエイリアスと …
-
-
cfn-initでEC2インスタンスにPHPをインストールしWebサーバーを起動する
AWS CloudFormation による Amazon EC2 へのアプリケ …
-
-
AWS CDK とにかくサンプルでやってみる
Cloud9でAWS CDK環境で作った環境でサンプルプロジェクトからのデプロイ …









