前回からの変更点として、Amazon S3とAmazon Athenaの間にAWS Glue Data Catalogを挟んでいます。
AWS Glue Data Catalogで作成したテーブルを利用して、Amazon Athenaのデータセットを作成し、アクセスします。
構築
事前にAWS IoT Coreにモノを作成済の前提でスタートします。
Amazon Data Firehoseの作成
Amazon Data Firehoseから「Firehoseストリームを作成」を選択ソースはDirect PUT、送信先はAmazon S3を選択、事前に格納用のS3は作成しておいてください格納用のS3バケットを選択し、バッファを指定。ここでは60秒周期の取り込みとしています「Firehoseストリームを作成」を選択するとストリームが作成されます
AWS GlueのData Catalogから「Crawlers」を選択「Create crawler」を選択クローラーの名前を入力画面真ん中右の「Add a data source」を選択データが蓄積されているS3バケットを指定IAMロールを指定、ここでは「Create new IAM role」をクリックし、ロールを新規作成しました「Add database」を選択しデータベースを新規作成データベース名を入力して「Create database」を選択改めて作成したデータベース名を選択、「Next」選択後、最終確認画面で「Create crawler」を選択クローラーが作成できました。一度「Run crawler」を実施クローラーの動作もできましたData CatalogのTablesを選択、先ほどのクローラーで自動でテーブルが作成されています。ここでTable dataをクリックTable dataをクリックでAmazon AthenaでのTable data取得結果が表示されます。Amazon Athenaで正常に結果取得することができています