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
AWS Glueではじめるデータレイク
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
marchin
December 01, 2022
Programming
740
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Glueではじめるデータレイク
marchin
December 01, 2022
More Decks by marchin
See All by marchin
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
820
Amazon Athenaで気軽に始める データ分析/athena-data-analytics
marchin1989
0
630
WebAPI開発のためのOpenAPI入門/entry-open-api
marchin1989
1
1.4k
やさしく入門するOAuth2.0/easy-entry-oauth
marchin1989
8
2.8k
1時間半で克服するJavaScriptの非同期処理/async_javascript_kokufuku
marchin1989
2
1.6k
自動テストでモックするって、なにそれ?おいしいの?/what_is_mocking
marchin1989
1
1.3k
たぶんもう怖くないGit/maybe-not-afraid-of-git-anymore
marchin1989
2
2.8k
モバイルアプリで機械学習入門/introduction-to-machine-learning-in-mobile-app
marchin1989
0
540
Other Decks in Programming
See All in Programming
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
130
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
150
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
650
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
180
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
150
yield再入門 #phpcon
o0h
PRO
0
730
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.8k
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
140
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
210
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
共通化で考えるべきは、実装より公開する型だった
codeegg
0
270
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
410
Measuring & Analyzing Core Web Vitals
bluesmoon
9
910
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Typedesign – Prime Four
hannesfritz
42
3.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
GitHub's CSS Performance
jonrohan
1033
470k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
The Limits of Empathy - UXLibs8
cassininazir
1
530
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
Abbi's Birthday
coloredviolet
3
8.8k
Transcript
AWS Glueで始める データレイク
自己紹介 - 名前: 阿部 真之 - 仕事: 株式会社ゆめみ でAndroidエンジニアしてます -
最近はサーバサイド Kotlinの仕事も始めました - ほぼサーバーサイドどっぷりです - 趣味 - コーヒー、ビール、アニメ、ゲーム、読書、 etc… - Twitter: @marchin_1989
アジェンダ - データレイクとは - AWS Glue - AWS Glueのデモ
データレイクとは
データレイクとは - データの貯蔵庫 - 様々な生データを貯めておく - ニーズに応じて、利用することができる
- データレイクに入れたり、出したりするときにデータ連携を行う。 - ETL処理(抽出処理、変換処理、ロード処理)が主な処理。 データレイクでのデータ連携 データ連携
- データレイクに入れたり、出したりするときにデータ連携を行う。 - ETL処理(抽出処理、変換処理、ロード処理)が主な処理。 データレイクでのデータ連携 データ連携 ETL処理以外にもやることがある。 リトライ処理、メタデータ管理、データーソースのス キーマ変更への対応、ワークフロー管理、スケーリ ング
etc… また、それ以前にアプリ実行環境の整備など、やる ことが多い。。。
AWS Glue - サーバーレスなデータ統合サービス。 - ETL Job:ETL処理の作成、実行、管理ができる。 - Glue Data
Catalog:データソースのスキーマをカタログ化して、管理することができる。 - Crowler:データソースをクロールして、Data Catalogを作成できる。 - GlueStudio:ETL Jobの作成、実行、モニタリングが簡単にできるGUI。
AWS Glueのデモ
AWS Glueのデモ RDS上の「購入履歴データ」をS3(データレイク)に保存してみる。
実行手順 1. Crawlerの実行。Data catalogを作成 2. Glue StudioでETL Job構築、実行 3. 保存データの確認
1. 2. 3.
1. Crawlerの実行。Data catalogを作成 - すでに定義済みのクローラーの画面を確認する。 - データソースはRDSを指定。 1.
Data sourceにRDSを設定したCrowlerを定義し て、Crowlerを実行。 Hourly, Daily, Weeklyなどで定期実行可能。
テーブルスキーマの変更があった ことがわかる。
データカタログの画面。 crowlerを実行することで、Data catalogの作 成&更新ができる。 スキーマを管理し、他のサービスから利用す ることが可能。
2. Glue StudioでETL Job構築、実行 - Glue Studioの画面で、ETL Jobを構築する。 2.
AWS Glue Studioの画面から、jobを 作成する。
GUIベースで、ETL Jobを作成するこ とができる。
Sourceから、「Relational DB」を選択 すると、ノードが作成される。
Data Catalogを作成済みであれば、 DataCatalogを選択でき、抽出したい データーベースのテーブルを選択する。
Actionから、変換処理などを作成しノー ドをつなげるように処理を作成してい く。
year, month, dayのカラムを追加したり ...
スキーマ名の変更など可能。
いろいろな変換処理が用意されている。 もちろんスクリプトを自分で書くことも可能。
最後にTargetとして、保存先にS3を指定。 FormatはCSVやParquetといったものを選択可 能。
パーティショニングが可能。 データ利用時(検索時)に効率よくクエリを実行で きたりする。 ここでは、year, month, dayを指定。
保存し、Jobを実行。 実行のステータスは Runsタブで確認 できる。
3. 保存データの確認 - ETL Jobを実行後の、S3データを確認する。 3.
保存先のS3バケットを確認。 パーティションが「year=2022/month=10/day=10/」という 感じで作成されている。
ファイルの中身。 $ cat run-AmazonS3_node1669307667051-15-part-r-00000 amount,user_id,price,product_id,purchased_at,order_detail_id,order_id 1,3,7100,71,"2022-10-10 22:00:00.0",4239,848 1,1,1100,11,"2022-10-10 11:00:00.0",4185,837 1,1,2300,23,"2022-10-10
14:00:00.0",4199,840 1,1,2700,27,"2022-10-10 23:00:00.0",4244,849
まとめ - AWS Glueを利用することで、データレイク周辺のデータ連携が簡単にできる。より やりたいことに集中できる。 - Glue StudioでGUIベースで視覚的にETL Jobを作成、管理可能。
参考文献 ・AWSではじめるデータレイク, 上原 誠 (著), 志村 誠 (著), 下佐粉 昭
(著), 関山 宜孝 (著), 2020, テッキーメディア ・YouTube, 【AWS Black Belt Online Seminar】AWS Glue -Glue Studio を使ったデー タ変換のベストプラクティス-, https://www.youtube.com/watch?v=xRszN4Tb4uM, (2021/04/01) ・AWS, データレイクとは, https://aws.amazon.com/jp/big-data/datalakes-and-analytics/what-is-a-data-lake/, (2022/11/25)