Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 202...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kasacchiful
PRO
February 01, 2025
Programming
0
500
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
2025/02/01 (土) JAWS-UG栃木支部#0 にて発表した資料。
勉強会サイト
https://jawsug-tochigi.connpass.com/event/342140/
kasacchiful
PRO
February 01, 2025
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
Amazon Q Developer CLI (現Kiro CLI) で作った 新潟ランチマップWebアプリのこれまでとこれから / 20260207jawsug-tochigi
kasacchiful
PRO
0
35
Amazon SageMaker Catalogの、AIエージェントによる自動データ分類機能を試してみようとしたが、できなかったので、代わりに最近構築したデータ連携基盤を紹介します / 20260117jawsug-fukui
kasacchiful
PRO
0
34
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
PRO
2
210
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
PRO
0
680
ワイがおすすめする新潟の食 / 20250912jasst-niigata-lt
kasacchiful
PRO
0
38
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
PRO
1
80
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
PRO
0
250
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
PRO
1
140
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
PRO
0
480
Other Decks in Programming
See All in Programming
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
組織で育むオブザーバビリティ
ryota_hnk
0
180
Oxlintはいいぞ
yug1224
5
1.4k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
210
Package Management Learnings from Homebrew
mikemcquaid
0
230
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Fluid Templating in TYPO3 14
s2b
0
130
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
Raku Raku Notion 20260128
hareyakayuruyaka
0
360
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Un-Boring Meetings
codingconduct
0
200
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
79
The Spectacular Lies of Maps
axbom
PRO
1
530
RailsConf 2023
tenderlove
30
1.3k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
Amazon S 3 TablesとAmazon S 3 Metadataを触ってみた 2 0 2
5 / 0 2 / 0 1 JAWS-UG栃 木 #0 笠原 宏
自己 紹介 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
JAWS-UG 新潟 開催形式 3 本編勉強会 • 不定期開催 / 2〜3時間程度 /
オフライン • 事前にテーマ決めて開催 プチキャッチアップ会 • 毎週 木 曜夜21時 / 1時間程度 / オンライン • その場で気になる記事 見 たり、お悩み相談受けたり
Amazon S 3 Tables を触ってみた 4
Amazon S 3 Tables 5 AWS re:Invent 2 0 2
4 で公開 • Apache Iceberg形式に最適化され たオブジェクトストア • Athena, EMR, Spark等からクエリ 可能 • 汎 用 ストレージと 比 べて最 大 3倍の クエリ性能 ・ 10倍のトランザク ション処理 IUUQTEFWDMBTTNFUIPEKQBSUJDMFTSFJOWFOUBNB[POTUBCMFT
東京リージョンでも使える 6 IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBNB[POTUBCMFTUPLZPSFHJPOHB
Amazon S 3 Tables の使 用 例 7 ログデータをData Firehoseを使って、S
3 Tablesに保管し、Athenaで分析
実際に触ってみる 8 分析サービスとの統合を有効化すると、テーブルバケットが作成できる
実際に触ってみる 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=<Table bucketのARN> \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \ --conf spark.driver.extraJavaOptions="-Djava.security.manager=allow"
実際に触ってみる 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()
実際に触ってみる 11 テーブル作成は、Spark Shellから spark.sql() を実 行 (今回はCloudShell上で)
実際に触ってみる 12 Lake Formationで権限付与すれば、AthenaからSelectクエリ実 行 できる
補 足 : Spark導 入 が 面 倒なら、AWS CLIとAthenaで遊べます 13
テーブル作成までCLI、データ操作からAthena IUUQTEFWDMBTTNFUIPEKQBSUJDMFTTDIFNBEF fi OJUJPOTUBCMFTDSFBUFUBCMFXJUIBXTDMJ
Amazon S 3 Metadata を触ってみた 14
Amazon S 3 Metadata 15 AWS re:Invent 2 0 2
4 で公開 • S 3 オブジェクトのメタデータを 自 動的に Apache Icebergテーブルに保存 • S 3 オブジェクトのメタデータを効率的に クエリ可能 • メタデータ: オブジェクトキー ・ 作成/変更 時間、ストレージクラス、暗号化状態など • ユーザ定義メタデータも設定 ・ クエリ可能 • バックエンドでS 3 Tablesを利 用 IUUQTEFWDMBTTNFUIPEKQBSUJDMFTBNB[POTCVDLFUNFUBEBUBQSFWJFX
GAになりました 16 東京リージョンではまだ IUUQTEFWDMBTTNFUIPEKQBSUJDMFTHBBNB[POTNFUBEBUB
Amazon S 3 Metadata の使 用 例 17 画像ファイルのメタデータ情報を機械学習で読み取り、S 3
Metadataで保存
実際に触ってみる 18 先にテーブルバケットを作成しておく
実際に触ってみる 19 汎 用 バケット作成後、メタデータ設定を作成する
実際に触ってみる 20 テーブルバケットとテーブル名を指定。テーブルは事前に作成不要。
実際に触ってみる 21 Lake Formationで権限付与後、Athenaからメタデータテーブルが参照できる。
実際に触ってみる 22 汎 用 バケットの画像ファイルを配置して数分後、メタデータが確認できる
実際に触ってみる 23 アップロードやコピーの際に、ユーザ定義メタデータを編集できる
実際に触ってみる 24 ユーザ定義メタデータの値を取得することも可能
まとめ 25
まとめ 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アカウント上で検証を推奨
宣伝 27
JAWS-UG 新潟 #21 28 初 心 者向けコンテナハンズオン • 2025年3 月
15 日 ( 土 ) 13:00開始 ◦ 会場: Prototype Cafe (新潟市中央区)
JAWS-UG 新潟 #22 & JAWS-UG 北陸新幹線 #3 29 4 月
12 日 ( 土 ) に 上越で初開催 • 2025年4 月 12 日 ( 土 ) 13:00 開始 (予定) • 会場: ミュゼ雪 小 町 (上越市 高田 ) ◦ 北陸新幹線「上越妙 高 駅」乗り換え、えちごトキメキ鉄道「 高田 駅」から徒歩5分 ◦ 当 日 は「第100回 高田 城址公園 観桜会」開催期間中のため、例年通りならば新潟駅発の 臨時快速が出るはず (2025年1 月 現在は未定)
おしまい 30