Slide 1

Slide 1 text

Amazon S 3 TablesとAmazon S 3 Metadataを動かしてみた 2 0 2 5 / 0 1 / 2 5 Niigata 5 分Tech # 1 5 With PHP勉強会in新潟 笠原 宏

Slide 2

Slide 2 text

自己 紹介 2 笠原 宏 wクラスメソッド株式会社 データ事業本部 w新潟県新潟市在住 w好きなAWSサービス: S 3 、Lambda、Step Functions wJAWS-UG新潟 支 部 / Python機械学習勉強会in新潟 / JaSST新潟 / SWANII / Cloud fl are Meetup Niigata / etc. wAWS Community Builder / 2 0 2 4 Japan AWS All Certi fi cations Engineer @kasacchiful @kasacchiful

Slide 3

Slide 3 text

年末年始のお休み 3

Slide 4

Slide 4 text

私のPHP歴 4 PHPは5系まで ● 4系、5系 ● 10年以上まともに触ってない ● その間、勉強会のハンズオンで少 し触る程度 現在は仕事でPython / 趣味でRuby ● 2005年   大 学での「データベース特論」講義の学習 用 に 自 宅にPHP/MySQL環境を整える ○ PHP 4 系、MySQL 4 系 ● 2006年   仕事でXoopsを導 入 する ○ PHP 5 系、MySQL 5 系 ● 2007年   軽くZend Framework (現Laminas Project) やSymfonyを触る (共に v 1 . 0 ) ○ PHP 5 系、MySQL 5 系 ● 2008年   仕事でRuby on Railsプロジェクト始動

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Amazon S 3 Tables を動かしてみた

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

実際に触ってみる 10 テーブル作成は、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 11

Slide 11 text

実際に触ってみる 11 テーブル作成は、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 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Amazon S 3 Metadata を動かしてみた

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を利 用 ● 2025年1 月 現在: プレビュー中 IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBNB[POTCVDLFUNFUBEBUBQSFWJFX

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

まとめ

Slide 25

Slide 25 text

まとめ 25 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 26

Slide 26 text

宣伝

Slide 27

Slide 27 text

JAWS-UG 新潟 #21 27 初 心 者向けコンテナハンズオン ● 2025年3 月 予定 ○ 会場決まり次第、Connpassにて案内出します

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

おしまい