0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

みなさん、こんにちは!

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

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

利用手順

テーブルバケット作成

S3のコンソールに移動し、「テーブルバケット」を開きます。
Athena等からアクセスできるよう、「統合を有効にする」をクリックします。
image.png

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

テーブル作成

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

名前空間の作成が完了するとAthenaのクエリエディタが開くため、そこでテーブルの作成を行います。
今回はサンプルのSQLをそのまま実行します。
image.png

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

カタログ権限設定

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

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

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

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

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

クエリ実行

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

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

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

image.png

まとめ

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

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

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

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?