Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

6 今日話すところ

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

13   問題 1

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

15   問題 1 - 答え

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

19   問題 2

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

21   問題 2 - 答え

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

23   問題 3

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

25   問題 3 - 答え

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

28   問題 4

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

30   問題 4 - 答え

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

32   問題 5

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

34   問題 5 - 答え

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

37   問題 6

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

39   問題 6 - 答え

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

41   まとめ

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

43

Slide 44

Slide 44 text

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