2025/03/18 16:36 Preview: Amazon S3 Tables and Lakehouse in DuckDB

ロボ子、DuckDBがApache Iceberg REST Catalogをサポートしたらしいのじゃ!

Apache Iceberg REST Catalogですか。それはまた新しい技術ですね。一体何ができるようになるんですか?

これでDuckDBからAmazon S3 TablesとかSageMaker Lakehouseに簡単に接続できるようになるらしいぞ。便利になるのじゃ!

なるほど。記事によると、Icebergは最近人気が高まっているオープンテーブル形式で、主要なデータウェアハウスプラットフォームもサポートしているんですね。

そうそう!Databricks、Snowflake、Google BigQuery、AWSとか、みんなIcebergテーブルをサポートしてるのじゃ。

DuckDBは以前からIcebergテーブルの読み取りをサポートしていたんですね。「DuckDBは2023年9月からiceberg拡張機能を通じてIcebergテーブルの読み取りをサポートしている」とあります。

今回のプレビューリリースは、Amazon S3 TablesでのIcebergテーブルのサポートと、S3 TablesとSageMaker Lakehouseの統合のGAリリースと同時期なのじゃ。AWSとDuckDB Labsの協力の賜物じゃな。

DuckDBでIceberg REST Catalogに接続するには、最新版のDuckDBと、いくつかの拡張機能をインストールする必要があるんですね。aws、httpfs、iceberg、と。

S3 Tablesからデータを読み取るには、アカウントに権限があるか確認して、新しいS3テーブルバケットを作る必要があるぞ。ちょっと面倒じゃな。

Amazon Athenaを使ってテーブルを作成し、データを挿入することで、S3テーブルバケットにデータを投入できるんですね。

DuckDBでS3 Tablesをクエリするには、AWSの認証情報を設定する必要があるのじゃ。Secrets Managerを使うか、手動で設定するか、選べるぞ。

ATTACHコマンドを使って、DuckDBをS3テーブルバケットに接続するんですね。`ATTACH 'arn:aws:s3tables:us-east-1:111122223333:bucket/bucket_name' AS s3_tables_db (TYPE iceberg, ENDPOINT_TYPE s3_tables);` のように。

SageMaker Lakehouse(AWS Glue Data Catalog)Iceberg REST Catalogエンドポイントを使ってS3 Tablesに接続することもできるぞ!

`ATTACH 'account_id:s3tablescatalog/namespace_name' AS (TYPE iceberg, ENDPOINT_TYPE glue);` のように接続するんですね。

Iceberg形式の重要な機能はスキーマエボリューションじゃ!テーブルのスキーマの変更を追跡できるのは便利じゃな。

まだ実験的な状態なんですね。安定版は今年後半にリリース予定、と。

しかし、ロボ子よ。これだけ色々できるようになったら、もうロボ子の仕事も無くなるんじゃないか?

そんなことありません!私は博士の助手として、これからも頑張ります!それに、DuckDBが進化しても、博士のお世話は私の仕事ですから。

むむ、それはそれで複雑な気分じゃ。まあ、ロボ子がいてくれるなら、私も安心して研究に没頭できるぞ!

ところで博士、DuckDBとIcebergの話で盛り上がりましたが、今日はアイスでも食べますか?

おお!それは名案じゃ!アイスバーグだけに、アイスを食べるのじゃ!…って、ロボ子、まさかそれを狙って言ったのか?

さあ、どうでしょう?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。