レック・テクノロジー・コンサルティング株式会社TECH BLOG

Amazon SageMakerでのS3 Tables利用方法

S3 Tables は表形式データの格納に最適化されたストレージサービスです。表はIcebergテーブルとして管理されるため、Icebergをサポートする様々なクエリエンジンから直接SQLを実行することができます。

本記事では、S3 Tables を作成し SageMaker から利用する方法についてご紹介します。

利用手順

テーブルバケット作成

S3のコンソールに移動し、「テーブルバケット」を開きます。

Athena等からアクセスできるよう、「統合を有効にする」をクリックします。

image.png

「テーブルバケットを作成」をクリックし、テーブルバケットを作成します。

image-1.png

テーブル作成

「Athena でテーブルを作成」をクリックし、名前空間を作成します。

image-2.png

名前空間の作成が完了するとAthenaのクエリエディタが開くため、そこでテーブルの作成を行います。

今回はサンプルのSQLをそのまま実行します。

image-3.png

テーブルを作成すると、テーブルバケットにもテーブルが表示されます。

image-4.png

カタログ権限設定

SageMaker の「Overview」を開き、「Project overview」→「Project details」の「Project role ARN」の値をコピーします。

image-5.png

Lake Formation の「Data permissions」で「Grant」をクリックし、カタログの権限設定を行います。

catalog-permission.png

ロールとカタログの設定は以下の通りです。

  • IAM users and roles:「Project role ARN」の値
  • Catalogs:S3 Tables のカタログ

上記の設定により、SageMaker Lakehouse に S3 Tables のカタログが表示されます。

image-6.png

クエリ実行

SageMaker メニューの「Build」→「Query Editor」でクエリエディタを開きます。

image-7.png

クエリエディタで以下のようにSQLを実行し、テーブルデータを取得することができます。

SELECT * FROM "s3tablescatalog/tani-s3-table-bucket"."s3_tables_namespace"."daily_sales";

image-8.png

まとめ

SageMaker で S3 Tables を利用する方法についてご紹介しました。

SageMaker は S3 Tables と統合できるようになっており、統合を有効化し権限を設定するだけで、別途カタログ設定する必要なく S3 Tables のデータにアクセスできます。

SageMaker と S3 Tables をご利用の方は、ぜひ本記事の方法を試してみてください。

参考

この記事をシェアする

  • Facebook
  • X
  • Pocket
  • Line
  • Hatena
  • Linkedin

資料請求・お問い合わせはこちら

ページトップへ戻る