$30 off During Our Annual Pro Sale. View Details »

JAWS-UG 朝会 #43 登壇資料

takakuni
March 15, 2023

JAWS-UG 朝会 #43 登壇資料

takakuni

March 15, 2023
Tweet

More Decks by takakuni

Other Decks in Technology

Transcript

  1. クイズ!Athenaのクエリ結果はどこでしょう?
    JAWS-UG朝会 #43
    2023.03.15
    たかくに
    1

    View Slide

  2. 2
    自己紹介
    たかくに
    • 会社:クラスメソッド株式会社
    • 部署:AWS 事業本部 コンサルティング部
    • ロール:ソリューションアーキテクト
    • 好きな AWS サービス:Amazon VPC
    • Twitter:@takakuni_

    View Slide

  3. 3
    突然ですが...
    普段、Amazon Athena 使ってますか?

    View Slide

  4. ● 標準 SQL を使用して分析するサービス
    ● データソースは Amazon S3
    ● サーバーレス
    ● クエリの結果を Amazon S3 に保存する
    4
    Amazon Athena の概要

    View Slide

  5. 5
    Amazon Athena の操作画面
    SQLを利用したクエリ
    スキャンしたデータ量に課金

    View Slide

  6. 6
    今日話すところ

    View Slide

  7. 7
    「クエリエディタ」と「ワークグループ」

    View Slide

  8. ● 各 IAM ユーザーごとの環境
    ● 各個人でクエリの保持が可能
    ● クエリの実行結果もカスタマイズ可能
    8
    クエリエディタ

    View Slide

  9. ● 各 IAM ユーザーごとの環境
    ● 各個人でクエリの保持が可能
    ● クエリの実行結果もカスタマイズ可能
    9
    クエリエディタ

    View Slide

  10. ● 複数IAMユーザーで共有する環境設定
    ● クエリの実行結果もカスタマイズ可能
    10
    ワークグループ

    View Slide

  11. 11
    今日話したかったこと
    クエリ結果の配信先として
    「クエリエディタ」と「ワークグループ」
    どちらが優先される?

    View Slide

  12. 12
    表にすると...
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 ?
    設定無し 設定無し 有効 ?
    設定無し 設定有り(バケットB) 無効 ?
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 ?
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  13. 13
     
    問題 1

    View Slide

  14. 14
    問題 1
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 ?
    設定無し 設定無し 有効 ?
    設定無し 設定有り(バケットB) 無効 ?
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 ?
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  15. 15
     
    問題 1 - 答え

    View Slide

  16. クエリ実行結果の保存先を設定する必要がある
    16
    クエリが実行できない(ひっかけです)
    https://docs.aws.amazon.com/ja_jp/athena/latest/ug/querying.html#query-results-specify-location-console

    View Slide

  17. 17
    問題 1 の答え合わせ
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 ?
    設定無し 設定無し 有効 ?
    設定無し 設定有り(バケットB) 無効 ?
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 ?
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  18. 18
    問題 1 の答え合わせ
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 ?
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 ?
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  19. 19
     
    問題 2

    View Slide

  20. 20
    問題 2
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 ?
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 ?
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  21. 21
     
    問題 2 - 答え

    View Slide

  22. 22
    問題 2 の答え合わせ
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 ?
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  23. 23
     
    問題 3

    View Slide

  24. 24
    問題 3
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 ?
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  25. 25
     
    問題 3 - 答え

    View Slide

  26. 26
    問題 3 の答え合わせ
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 バケットA
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  27. 27
    ちょっと豆知識
    保存先で保存形式(フォルダ階層が異なる)
    ワークグループ クエリエディタ

    View Slide

  28. 28
     
    問題 4

    View Slide

  29. 29
    問題 4
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 バケットA
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 ?
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  30. 30
     
    問題 4 - 答え

    View Slide

  31. 31
    問題 4 の答え合わせ
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 バケットA
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 バケットA
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  32. 32
     
    問題 5

    View Slide

  33. 33
    問題 5
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 ?
    設定有り(バケットA) 設定無し 無効 バケットA
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 バケットA
    設定有り(バケットA) 設定有り(バケットB) 有効 ?

    View Slide

  34. 34
     
    問題 5 - 答え

    View Slide

  35. 35
    問題 5 の答え合わせ
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 バケットB
    設定有り(バケットA) 設定無し 無効 バケットA
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 バケットA
    設定有り(バケットA) 設定有り(バケットB) 有効 バケットB

    View Slide

  36. 36
    ちょっと豆知識
    上書きを有効化すると次のように表示されます

    View Slide

  37. 37
     
    問題 6

    View Slide

  38. 38
    問題 6
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 バケットB
    設定有り(バケットA) 設定無し 無効 バケットA
    設定有り(バケットA) 設定無し 有効 ?
    設定有り(バケットA) 設定有り(バケットB) 無効 バケットA
    設定有り(バケットA) 設定有り(バケットB) 有効 バケットB

    View Slide

  39. 39
     
    問題 6 - 答え

    View Slide

  40. 40
    問題 6 の答え合わせ
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 バケットB
    設定有り(バケットA) 設定無し 無効 バケットA
    設定有り(バケットA) 設定無し 有効 バケットA
    設定有り(バケットA) 設定有り(バケットB) 無効 バケットA
    設定有り(バケットA) 設定有り(バケットB) 有効 バケットB

    View Slide

  41. 41
     
    まとめ

    View Slide

  42. ● クエリを実行するには実行結果の保存先が必要
    ● クエリの実行結果は2つの保存先がある
    ● クエリエディタの保存先が優先される
    ○ ワークグループ側で上書きを設定すると優先度が
    変わる
    ● 保存先の指定有り/無しで設定が分かれた場合、指
    定有りが優先される
    42
    まとめ

    View Slide

  43. 43

    View Slide

  44. 44
    (参考)クエリ結果保存先まとめ
    クエリエディタ設定値 ワークグループ設定値 ワークグループ上書き クエリ結果保存先
    設定無し 設定無し 無効 クエリが実行できない
    設定無し 設定無し 有効 クエリが実行できない
    設定無し 設定有り(バケットB) 無効 バケットB
    設定無し 設定有り(バケットB) 有効 バケットB
    設定有り(バケットA) 設定無し 無効 バケットA
    設定有り(バケットA) 設定無し 有効 バケットA
    設定有り(バケットA) 設定有り(バケットB) 無効 バケットA
    設定有り(バケットA) 設定有り(バケットB) 有効 バケットB

    View Slide