Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第126回 雲勉【オンライン】Amazon Athena入門 ~基本の使い方&QuickSig...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
iret.kumoben
January 25, 2024
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第126回 雲勉【オンライン】Amazon Athena入門 ~基本の使い方&QuickSightと連携させてみよう~
下記、勉強会での資料です。
https://youtu.be/N49mVAx1ItA
iret.kumoben
January 25, 2024
Transcript
66 slides
第126回 雲勉 Amazon Athena入門 ~基本の使い方&QuickSightと連携させてみよう〜
0.講師自己紹介 2 ◼ 沖手 彩香 • クラウドインテグレーション事業部 開発第二セクション • アイレット歴は1年半ほど
• 今年はAWS、GCPの資格取得をもっとがんばりたい • 好きなもの:音楽・お笑い・お酒
アジェンダ 3 0. 自己紹介 1. Amazon Athena とは? 2. Amazon
Athena を使ってみる 3. コスト削減方法 4. 応用してみる(Amazon QuickSightとの連携) 5. まとめ
本日のゴール 4 ◼ Amazon Athenaの概要についての理解 ◼ Amazon Athenaを使ってどんなことができるかイメージできるようになること ※ Amazon
Athenaをほとんど触ったことがない、という初心者の方向けの内容となります。
1. Amazon Athena とは? 5
1. Amazon Athena とは? 6 ◼ 標準的なSQLを使用して、Amazon S3上のデータ分析を行うことができる ◼ サーバレスのためすぐに利用開始できる
◼ 実行した分だけ料金がかかる 引用:https://aws.amazon.com/jp/athena/
1. Amazon Athena とは? 7 ◼ ユースケース • その他の分析サービス:Amazon Redshift、Amazon
EMRなど ⇨ 大量のデータを常時分析する場合などに活用 • Amazon Athenaはスポット的な分析に適している
1. Amazon Athena とは? 8 ◼ ユースケース 例えば・・・ ・S3に蓄積されたログを分析してパフォーマンス改善を行いたい ・一時的に必要なデータや、コストの問題でDBに格納していないデータを分析したい
Athenaを使ってみよう!
1. Amazon Athena とは? 9 ◼ 料金体系 • クエリ単位でスキャンされたデータのバイト数で課金される •
1TBあたり、5USD • バイト数はMB単位で切り上げ • クエリごとに最小10MB分が課金される • 正常に実行されなかった場合は、課金されない ※コストの削減方法について、後ほどご説明します。
1. Amazon Athena とは? 10 ◼ 画面イメージ クエリを書き込む データソース データベース
テーブル などを選択 クエリ結果表示 ← 実行ボタンなど
2. Amazon Athena を使ってみる 11
2. Amazon Athena を使ってみる 12 ◼ 例:複数の店舗を持つ企業の、店舗別の来店人数・売上の一覧 • A~Dの店舗の中から、売上上位の2店舗のデータを抽出します athena_test.csv
項目:店舗、来店人数、売上 売上上位の 店舗のみ抽出
2. Amazon Athena を使ってみる 13 ◼ 作業の流れ • 一覧からデータを抽出するための、作業の流れは以下の通り S3バケットと
データ準備 Athena 環境準備 クエリ実行 結果確認
2. Amazon Athena を使ってみる 14 ◼ S3バケットとデータ準備 • S3に対象データ格納用のバケット作成 「バケットを作成」を
クリック
2. Amazon Athena を使ってみる 15 ◼ S3バケットとデータ準備 • S3に対象データ格納用のバケット作成 任意のバケット名を入力
「バケットを作成」を クリック
2. Amazon Athena を使ってみる 16 ◼ S3バケットとデータ準備 • 作成したバケットに対象ファイルをアップロード 作成したバケットを開き、
「アップロード」をクリック
2. Amazon Athena を使ってみる 17 ◼ S3バケットとデータ準備 • 作成したバケットに対象ファイルをアップロード 「ファイルを追加」をクリック
もしくは ドラック&ドロップでファイルをアップロード 「アップロード」をクリック
2. Amazon Athena を使ってみる 18 ◼ S3バケットとデータ準備 • 作成したバケットに対象ファイルをアップロード アップロードされてることを
確認
2. Amazon Athena を使ってみる 19 ◼ S3バケットとデータ準備 • S3に結果格納用のバケットを作成
2. Amazon Athena を使ってみる 20 ◼ Athena 環境準備 • 結果格納先S3バケットの設定
「設定」をクリック
2. Amazon Athena を使ってみる 21 ◼ Athena 環境準備 • 結果格納先S3バケットの設定
「管理」をクリック
2. Amazon Athena を使ってみる 22 ◼ Athena 環境準備 • 結果格納先S3バケットの設定
結果を格納する S3バケットのパスを指定 「保存」をクリック
2. Amazon Athena を使ってみる 23 ◼ Athena 環境準備 • 結果格納先S3バケットの設定
2. Amazon Athena を使ってみる 24 ◼ Athena 環境準備 • データベース作成
「実行」をクリック 任意のデータベース名
2. Amazon Athena を使ってみる 25 ◼ Athena 環境準備 • データベース作成
作成したデータベースを 選択
2. Amazon Athena を使ってみる 26 ◼ Athena 環境準備 • テーブル作成
「実行」をクリック データベース名.任意のテーブル名 フィールドの定義 対象データのS3バケットのパス 区切り文字、改行コード指定
2. Amazon Athena を使ってみる 27 ◼ Athena 環境準備 • テーブル作成
作成したテーブルが 表示されます
2. Amazon Athena を使ってみる 28 ◼ クエリ実行 「実行」をクリック
2. Amazon Athena を使ってみる 29 ◼ 結果確認 上位2店舗の情報が 出力された!
2. Amazon Athena を使ってみる 30 ◼ 結果確認 • 結果をダウンロード 「結果をダウンロード」を
クリック
2. Amazon Athena を使ってみる 31 ◼ 結果確認 • 結果をダウンロード
2. Amazon Athena を使ってみる 32 ◼ クエリ履歴 • 「最近のクエリ」タブを開くと、実行したクエリが確認できる
2. Amazon Athena を使ってみる 33 ◼ クエリの保存 • 「エディタ」タブからクエリが保存できる クエリ名横の…でメニューを開き、
「名前を付けて保存」をクリック クエリ名・説明を入力し、 「クエリを保存」をクリック
2. Amazon Athena を使ってみる 34 ◼ クエリの保存
2. Amazon Athena を使ってみる 35 ◼ エラー発生時のイメージ 項目名を`で囲わないと いけなかった… エラー内容が表示されるの
でここで原因を確認!
3.コスト削減方法 36
3.コスト削減方法 37 ◼ 主なコスト削減方法は、以下の3つ • パーティショニング ⇨ 必要なデータのみ処理する • データ圧縮
⇨ 処理するデータ量が少なくなる • 列指向形式 ⇨ 必要な列のみ読み込まれる
3.コスト削減方法 38 ◼ パーティショニング • 複数ファイルを対象とする場合、S3のバケット内をフォルダ分け • 例:”dt” をキーとして、日付ごとのフォルダを作成 dt=(日付)でフォルダを作成
3.コスト削減方法 39 ◼ パーティションの方法 • 個別のフォルダ内にファイルを格納
3.コスト削減方法 40 ◼ パーティションの方法 • Athenaでのテーブル作成時に、PARTITIONED BY の設定を追加する
3.コスト削減方法 41 ◼ パーティションの方法 「パーティション化済み」 と表示される
3.コスト削減方法 42 ◼ パーティションの方法 • MSCK REPAIR TABLEコマンドでパーティション情報を読み込む テーブル名
3.コスト削減方法 43 ◼ パーティションの方法 • クエリ実行 WHERE句で日付を指定 指定した日付のデータのみ スキャンされる
3.コスト削減方法 44 ◼ パーティションの方法 注意:MSCK REPAIR TABLEをしないと、データが出力されない
3.コスト削減方法 45 ◼ データ圧縮 • S3に格納するデータを圧縮することで、スキャンする容量が減るため、コスト削減できる • 現時点では、以下の圧縮形式がサポートされている ➢ BZIP2
➢ DEFLATE ➢ GZIP ➢ LZ4 ➢ LZO ➢ SNAPPY ➢ ZLIB ➢ ZSTD ※詳細はこちら: https://docs.aws.amazon.com/ja_jp/athena/latest/ug/compression-formats.html
3.コスト削減方法 46 ◼ 列指向形式 • データを列指向形式に変換することでパフォーマンスが向上する • Athenaでは CREATE TABLE
AS クエリを実行して列指向形式 (Parquet or ORC) に変換 S3バケットのパス 変換元のテーブル名
3.コスト削減方法 47 ◼ 列指向形式 注意:CREATE TABLE AS クエリの実行では、指定するS3のバケットは空でないとNG
4.応用してみる (Amazon QuickSightとの連携) 48
4.応用してみる(Amazon QuickSightとの連携) 49 ◼ QuickSightとは? • AWSのビジネスインテリジェンス (BI) サービス •
さまざまなデータソースからデータを結合し、ダッシュボードによって可視化する ことでデータ分析に活用できる
4.応用してみる(Amazon QuickSightとの連携) 50 ◼ サインアップ(初めて利用する場合のみ) • コンソールからQuickSightにアクセス • 初めて利用する場合、以下のようなサインアップ画面が表示される 「Sign
up for QuickSight」 をクリック
4.応用してみる(Amazon QuickSightとの連携) 51 ◼ サインアップ(初めて利用する場合のみ) • Editionを選択する Standard Editionを使用する場合は、 画面下部にリンクがある
Standard→Enterpriseへは アップグレード可能なので、 まずはStandardから始めるのがおすすめ
4.応用してみる(Amazon QuickSightとの連携) 52 ◼ サインアップ(初めて利用する場合のみ) Standard Editionは 「here」をクリック
4.応用してみる(Amazon QuickSightとの連携) 53 ◼ サインアップ(初めて利用する場合のみ) リージョンを選択 任意のアカウント名を入力 メールアドレスを入力 (QuickSightのお知らせが届きます)
4.応用してみる(Amazon QuickSightとの連携) 54 ◼ サインアップ(初めて利用する場合のみ) 連携するリソースを選択 S3とAthenaにチェックを入れる
4.応用してみる(Amazon QuickSightとの連携) 55 ◼ サインアップ(初めて利用する場合のみ) • リソース選択でS3にチェックすると、バケットの選択画面が開く Athenaで使用している S3バケットにチェック 「Athena
Workgroupの 書き込みアクセス許可」 にもチェック
4.応用してみる(Amazon QuickSightとの連携) 56 ◼ サインアップ(初めて利用する場合のみ) • 「完了」をクリックすると、作成中→サインアップ完了のメッセージが表示される 「Amazon QuickSight に移動する」
をクリック
4.応用してみる(Amazon QuickSightとの連携) 57 ◼ 連携手順 「新しいデータセット」を クリック 「データセット」を選択
4.応用してみる(Amazon QuickSightとの連携) 58 ◼ 連携手順 「Athena」をクリック
4.応用してみる(Amazon QuickSightとの連携) 59 ◼ 連携手順 任意のデータソース名を入力 「データソースを作成」を クリック ワークグループを選択
4.応用してみる(Amazon QuickSightとの連携) 60 ◼ 連携手順 Athenaで作成したDBを選択 Athenaで作成したテーブルを選択 「選択」をクリック
4.応用してみる(Amazon QuickSightとの連携) 61 ◼ 連携手順 「Visualize」をクリック
4.応用してみる(Amazon QuickSightとの連携) 62 ◼ 連携手順 グラフの種類を選択 Athenaで定義したフィールド が表示される
4.応用してみる(Amazon QuickSightとの連携) 63 ◼ 連携手順 フィールドを ドラッグ&ドロップ 店舗別の情報が グラフに表示される
4.応用してみる(Amazon QuickSightとの連携) 64 ◼ 以下のようにさまざまなグラフ・表などを配置できます
5.まとめ 65
5.まとめ 66 ◼ 所感 • Athenaは、使った分だけ課金される&すぐに開始できるという点で、 気軽に始められるのでとても良い! • 工夫次第でコスト削減できる(公式では90%も削減できるとのこと)ので、 分析する対象や、どういった内容を出力したいのかをしっかり検討することが重要
• 小さなデータであればコストも少ないので、まずはお試しで使ってみるのがオススメ
More Decks by iret.kumoben
See All by iret.kumoben
第182回 雲勉 【Gemini 3.0 Pro】AI ベンチマーク徹底比較!他モデルに比べ優れている点まとめ
iret
0
150
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
120
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
150
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
190
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
170
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
160
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
150
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
240
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
220
Other Decks in Technology
See All in Technology
市販IoT機器や自作IoT機器とHomeAssistantを駆使して家の電気代をできる限り見える化する方法の考案
harutiro
0
160
属人化したISMS運用をGitHubとAIで仕組み化した1年間の記録
sioncojp
4
2.6k
Claude Codeで新規事業を伸ばせるか? Zennの試行錯誤の記録
wadayusuke
2
190
LLM 基盤と kagent v0 を全部 k8s に入れてみた / Deploy both LLM and kagent v0 in k8s
kota2and3kan
0
220
これからのデータエンジニアの役割について考える / Rethinking the Role of Data Engineers in the AI Era
okiyuki99
0
490
閉域網でのAPI公開の選択肢全部比較!
takano0131
1
120
生成AI時代のIAMのマニアックな話
takuros
6
3.2k
異夢同船〜異なる夢でも同じ船でなんとかする〜
fortegp05
0
240
An Introduction to Context Ontology Accelerator (teaching AI agents what your data means)
inariku
PRO
1
270
長い仕事を任せる (Workflows、クラウドセッション、Kiro Web) | 目指せ Kiro マスター 10
inariku
PRO
3
200
Claude Securityを使ってみた / claude-security-claude-code-meetup-nagoya
tnir
0
110
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
2
350
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
750
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
A Tale of Four Properties
chriscoyier
163
24k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
70
69k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Claude Code のすすめ
schroneko
67
230k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
300
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
940