[アップデート] Amazon S3 Tables が S3 コンソール経由でAmazon Athena を使用して テーブルを作成できるようになりました
AWS事業本部コンサルティング部の石川です。Amazon S3 Tablesは、Amazon S3コンソール経由して、Amazon Athenaを利用して簡単にテーブルの作成が実行できるようになりました。このブログでは、実際にこの機能を試してみます。
S3 Tablesのテーブルの作成する機能
この機能は、S3 コンソール上でテーブルを作成できるのではなく、S3 コンソール上からAmazon Athena のクエリエディタを呼び出し、SQLを実行することでテーブルが作成されます。
なお、Amazon Athena のSQLを実行することでテーブルが作成できる機能は、Amazon S3 Tables の Amazon SageMaker Lakehouse との統合の機能となります。
S3 Tablesのテーブルの作成を試す
S3コンソールからS3 Tablesのテーブルの作成方法は2つあります。
- 新しい名前空間とS3 Tablesのテーブルの作成する方法
- 既存の名前空間にS3 Tablesのテーブルを作成する方法
今回は、新しい名前空間とS3 Tablesのテーブルの作成する方法について解説します。
前提知識: Amazon S3 Tables の階層
前提知識として、Amazon S3 Tables の階層について解説します。Amazon S3 Tables は、Table Bucket、Namespace、Tableの順に階層構造になっています。
table_bukets
└── namespace
└── table
検証前の初期状態は、以下の状態になります。
- cm-sample テーブルバケット
- cm_ssb 名前空間
- lineorder_s3tables テーブル
cm-sample
└── cm_ssb
└── lineorder_s3tables
新しい名前空間とS3 Tablesのテーブルの作成する方法
新しい名前空間とS3 Tablesのテーブルの作成する方法について解説します。つまり、下記の初期状態から
cm-sample
└── cm_ssb
└── lineorder_s3tables
下記の新しい名前空間(cm_ssb_new)とS3 Tablesのテーブル(daily_sales)を追加します。
cm-sample
├── cm_ssb
│ └── lineorder_s3tables
└── cm_ssb_new
└── daily_sales
cm-sample テーブルバケットの画面で、[Athena でテーブルを作成]ボタンを押します。
すると、以下のダイアログが表示されます。「名前空間を作成」(デフォルト)の状態で、名前空間名を指定して、[名前空間を作成] ボタンを押します。
以下のダイアログが表示されます。名前空間の作成が成功したので、[Athena でテーブルを作成] ボタンを押します。
S3コンソールから Amazon Athena の クエリエディタの仮面に遷移して、クエリエディタにテーブル作成と初期データ投入用のサンプルSQLが表示されます。必要に応じて変更してクエリを実行します。
テーブル作成用のクエリを実行すると、テーブルが追加されたことが確認できます。
最後に
Amazon S3 Tables の S3 コンソールを利用して、 Amazon Athena 経由でテーブルを作成することが可能になりました。実際に、新しい名前空間を作成し、その中にテーブルを追加する方法を解説しました。Amazon Athena のクエリエディタを通じて SQL を実行することで、テーブルが簡単に作成され、データの管理が効率化されます。この機能は、Amazon SageMaker Lakehouse との統合にも対応しており、データ分析や機械学習のワークフローをさらに強化できます。
今回は、Amazon Athena のクエリエディタを通じて SQL を実行することで、テーブルが簡単に作成できることを紹介しましたが、その他に名前空間やテーブルの削除、テーブルDDLを生成が可能になりました。下記のグログもご覧ください。