Slide 1

Slide 1 text

Amazon S 3 TablesとAmazon S 3 Metadataを触ってみた 2 0 2 5 / 0 2 / 0 1 JAWS-UG栃 木 #0 笠原 宏

Slide 2

Slide 2 text

自己 紹介 2 ● 好きなAWSサービス ◯ S 3 , Lambda, Step Functions ● コミュニティ運営 ○ JAWS-UG新潟 / Python機械学習勉強会 in 新潟 ○ Cloudflare Meetup Niigata ○ JaSST新潟 / ASTER正会員 / SWANII / etc. ● AWS Community Builder ○ Serverless (since 2 0 2 2 ) ○ 笠原 宏 (@kasacchiful) ○ クラスメソッド株式会社データ事業本部 ○ JAWS-UG新潟 支 部 ○ 新潟県新潟市在住 2

Slide 3

Slide 3 text

JAWS-UG 新潟 開催形式 3 本編勉強会 ● 不定期開催 / 2〜3時間程度 / オフライン ● 事前にテーマ決めて開催 プチキャッチアップ会 ● 毎週 木 曜夜21時 / 1時間程度 / オンライン ● その場で気になる記事 見 たり、お悩み相談受けたり

Slide 4

Slide 4 text

Amazon S 3 Tables を触ってみた 4

Slide 5

Slide 5 text

Amazon S 3 Tables 5 AWS re:Invent 2 0 2 4 で公開 ● Apache Iceberg形式に最適化され たオブジェクトストア ● Athena, EMR, Spark等からクエリ 可能 ● 汎 用 ストレージと 比 べて最 大 3倍の クエリ性能 ・ 10倍のトランザク ション処理 IUUQTEFWDMBTTNFUIPEKQBSUJDMFTSFJOWFOUBNB[POTUBCMFT

Slide 6

Slide 6 text

東京リージョンでも使える 6 IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBNB[POTUBCMFTUPLZPSFHJPOHB

Slide 7

Slide 7 text

Amazon S 3 Tables の使 用 例 7 ログデータをData Firehoseを使って、S 3 Tablesに保管し、Athenaで分析

Slide 8

Slide 8 text

実際に触ってみる 8 分析サービスとの統合を有効化すると、テーブルバケットが作成できる

Slide 9

Slide 9 text

実際に触ってみる 9 テーブル作成は、Spark Shellから spark.sql() を実 行 (今回はCloudShell上で) spark-shell \ --packages org.apache.iceberg:iceberg-spark-runtime- 3.5_2.12:1.6.1,software.amazon.s3tables:s3-tables-catalog-for-iceberg- runtime:0.1.3,software.amazon.awssdk:s3tables:2.29.26,software.amazon.awssdk:s3:2.29.26,so ftware.amazon.awssdk:sts:2.29.26,software.amazon.awssdk:kms:2.29.26,software.amazon.awssdk :dynamodb:2.29.26,software.amazon.awssdk:kms:2.29.26,software.amazon.awssdk:glue:2.29.26 \ --conf spark.sql.catalog.s3tablesbucket=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.s3tablesbucket.catalog- impl=software.amazon.s3tables.iceberg.S3TablesCatalog \ --conf spark.sql.catalog.s3tablesbucket.warehouse= \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \ --conf spark.driver.extraJavaOptions="-Djava.security.manager=allow"

Slide 10

Slide 10 text

実際に触ってみる 10 テーブル作成は、Spark Shellから spark.sql() を実 行 (今回はCloudShell上で) spark.sql(" CREATE NAMESPACE IF NOT EXISTS s3tablesbucket.sample_namespace ") spark.sql(" SHOW NAMESPACES IN s3tablesbucket ").show() spark.sql(" CREATE TABLE IF NOT EXISTS s3tablesbucket.sample_namespace.sales ( product string, amount int, timestamp timestamp ) using iceberg ") spark.sql(" INSERT INTO s3tablesbucket.sample_namespace.sales ( product, amount, timestamp ) VALUES ( 'Laptop', 1200, '2023-12-01 10:30:00' ) “) ... spark.sql(" SELECT * FROM s3tablesbucket.sample_namespace.sales ").show()

Slide 11

Slide 11 text

実際に触ってみる 11 テーブル作成は、Spark Shellから spark.sql() を実 行 (今回はCloudShell上で)

Slide 12

Slide 12 text

実際に触ってみる 12 Lake Formationで権限付与すれば、AthenaからSelectクエリ実 行 できる

Slide 13

Slide 13 text

補 足 : Spark導 入 が 面 倒なら、AWS CLIとAthenaで遊べます 13 テーブル作成までCLI、データ操作からAthena IUUQTEFWDMBTTNFUIPEKQBSUJDMFTTDIFNBEF fi OJUJPOTUBCMFTDSFBUFUBCMFXJUIBXTDMJ

Slide 14

Slide 14 text

Amazon S 3 Metadata を触ってみた 14

Slide 15

Slide 15 text

Amazon S 3 Metadata 15 AWS re:Invent 2 0 2 4 で公開 ● S 3 オブジェクトのメタデータを 自 動的に Apache Icebergテーブルに保存 ● S 3 オブジェクトのメタデータを効率的に クエリ可能 ● メタデータ: オブジェクトキー ・ 作成/変更 時間、ストレージクラス、暗号化状態など ● ユーザ定義メタデータも設定 ・ クエリ可能 ● バックエンドでS 3 Tablesを利 用 IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBNB[POTCVDLFUNFUBEBUBQSFWJFX

Slide 16

Slide 16 text

GAになりました 16 東京リージョンではまだ IUUQTEFWDMBTTNFUIPEKQBSUJDMFTHBBNB[POTNFUBEBUB

Slide 17

Slide 17 text

Amazon S 3 Metadata の使 用 例 17 画像ファイルのメタデータ情報を機械学習で読み取り、S 3 Metadataで保存

Slide 18

Slide 18 text

実際に触ってみる 18 先にテーブルバケットを作成しておく

Slide 19

Slide 19 text

実際に触ってみる 19 汎 用 バケット作成後、メタデータ設定を作成する

Slide 20

Slide 20 text

実際に触ってみる 20 テーブルバケットとテーブル名を指定。テーブルは事前に作成不要。

Slide 21

Slide 21 text

実際に触ってみる 21 Lake Formationで権限付与後、Athenaからメタデータテーブルが参照できる。

Slide 22

Slide 22 text

実際に触ってみる 22 汎 用 バケットの画像ファイルを配置して数分後、メタデータが確認できる

Slide 23

Slide 23 text

実際に触ってみる 23 アップロードやコピーの際に、ユーザ定義メタデータを編集できる

Slide 24

Slide 24 text

実際に触ってみる 24 ユーザ定義メタデータの値を取得することも可能

Slide 25

Slide 25 text

まとめ 25

Slide 26

Slide 26 text

まとめ 26 S 3 Tables と S 3 Metadata を 触ってみた ● Amazon S 3 Tables ○ Apache Iceberg形式に最適化されたオブジェクトストア ● Amazon S 3 Metadata ○ S 3 オブジェクトのメタデータを 自 動的にApache Icebergテーブル (S 3 Tables) に保存 ● 分析 用 途に利 用 する際の選択肢の1つ ○ Lake Formationを有効化する必要があるため、まずは別AWSアカウント上で検証を推奨

Slide 27

Slide 27 text

宣伝 27

Slide 28

Slide 28 text

JAWS-UG 新潟 #21 28 初 心 者向けコンテナハンズオン ● 2025年3 月 15 日 ( 土 ) 13:00開始 ○ 会場: Prototype Cafe (新潟市中央区)

Slide 29

Slide 29 text

JAWS-UG 新潟 #22 & JAWS-UG 北陸新幹線 #3 29 4 月 12 日 ( 土 ) に 上越で初開催 ● 2025年4 月 12 日 ( 土 ) 13:00 開始 (予定) ● 会場: ミュゼ雪 小 町 (上越市 高田 ) ○ 北陸新幹線「上越妙 高 駅」乗り換え、えちごトキメキ鉄道「 高田 駅」から徒歩5分 ○ 当 日 は「第100回 高田 城址公園 観桜会」開催期間中のため、例年通りならば新潟駅発の 臨時快速が出るはず (2025年1 月 現在は未定)

Slide 30

Slide 30 text

おしまい 30