ヤマムギ

growing hard days.

*

Organizations対応のAWS CloudTrailのAthenaテーブルでPartition Projectionを使用しました

   

パーティション向けのAlterテーブルの定期実行が面倒だと思っていたら、Partition Projectionという機能があることを知りました。
ALTER TABLEの実行なしで、パーティションに区切ってくれるそうです。

CloudTrailのAthenaテーブル作成機能とこちらの記事【全リージョン対応】CloudTrailのログをAthenaのPartition Projectionなテーブルで作るを参考にしました。

CloudTrailからAthenaテーブル作成

CloudTrailのイベント履歴画面の[Athenaテーブルを作成]ボタンを押下しました。

CREATE EXTERNAL TABLEのDDLが生成されます。
バケットを選択すると、LOCATIONが自動設定されますが、Organizations対応になっていないので、s3://bucketname/AWSLogs/organizaiotnsid のようにOrganizationsのパスに変えました。

DDLの編集

PARTITIONED BY とTBLPROPERTIESを追加して次のDDLになりました。
パーティションは、アカウントID、リージョン、日付にしました。

テーブル作成後、パーティションを検索条件にしてクエリを実行しました。
スキャン対象のデータが絞られていました。

発生エラー

mismatched input ‘EXTERNAL’. Expecting: ‘OR’, ‘SCHEMA’, ‘TABLE’, ‘VIEW’

PARTITIONED BY行をCOMMENT行の前で実行しようとしていて上記エラーが発生しました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

S3オブジェクトへのリクエストをCloudTrail, Athenaで識別する(パーティショニング)

Amazon S3オブエジェクトへのリクエストをCloudTrail, Athe …

AWS Lambda(Python)でDynamoDB テーブルを日次で削除/作成(オートスケーリング付き)

この記事はAWS #2 Advent Calendar 2018に参加した記事で …

EC2:RunInstances APIにリクエストしてEC2インスタンスを起動(署名バージョン4、Postman)

AWSのAPIリクエストってHTTPでもよかったですよね?って思って、確認のため …

「機械学習モデルをトレーニングする」チュートリアル

Amazon SageMaker Clarifyのデモを記録しておきたいので「機 …

Amazon Location Service入門ワークショップ-マップの操作

関連記事 Amazon Location Service入門ワークショップの前提 …

AWSアカウント ルートユーザーのMFAが使えなくなったので復旧

AWSのルートユーザーどころか、MFAが使えるログインすべてが使えなくなって焦り …

S3に置いたMP3ファイルをTwilioから電話再生する(AWS Lambda Python)

Google Calendar Twilio ReminderのTwilioを使 …

RocketChatからOutgoing Webhookで呼び出されたAPI Gatewayでtokenをリクエスト検証する

本来はWAFでやったほうがよさそうですが、追加料金を発生させたくない場合にAPI …

EC2 セッションマネージャにEC2インスタンスの一覧から接続できるようになりました

EC2に接続する時に、どうしてもSSHクライアントから接続しないといけない場合を …

AWSアカウントのルートユーザーのセキュリティ認証情報

アカウント作成時にはMFA設定するためにIAMダッシュボードからアクセスするので …