Code

Amazon Athenaのクエリ【メモ】

スポンサーラベル
Code

当サイトはアフィリエイト広告を利用しています。

Amazon Athanaで利用するクエリの関数のメモです。

日付関連

datetimeをそれぞれyearやmonthなどに分解してGroup化してます。

select year("input_datetime") as year, month("input_datetime") as year, day("input_datetime") as day, hour("input_datetime") as hour, minute("input_datetime") as minute
from quicksight_test_table
group by  year("input_datetime"), month("input_datetime") , day("input_datetime") , hour("input_datetime") , minute("input_datetime")

case文

先ほどのSQL文にCASEで条件を追加しました。resultがHighの数を算出します。

select year("input_datetime") as year, month("input_datetime") as year,
day("input_datetime") as day, hour("input_datetime") as hour, minute("input_datetime") as minute, 
sum (case when result = 'High' then 1 else 0 end)  as high_sum
from quicksight_test_table
group by  year("input_datetime"), month("input_datetime") , day("input_datetime") , hour("input_datetime") , minute("input_datetime")

計算する

ここでさらに追加、計算を追加します。先ほどのHighの割合を追加しました。

select year("input_datetime") as year, month("input_datetime") as month, day("input_datetime") as day,
hour("input_datetime") as hour, minute("input_datetime") as minute, 
count(result) as cnt,
sum (case when result = 'High' then 1 else 0 end)  as high_sum, 
cast(sum (case when result = 'High' then 1 else 0 end) as real)/ cast(count(result) as real) *100 as per_high

from quicksight_test_table
group by  year("input_datetime"), month("input_datetime") , day("input_datetime") , hour("input_datetime") , minute("input_datetime")

ビューを作成する

ここまでに作成したSQLを使ってビューを作成してみます。

CREATE OR REPLACE VIEW "per_minute" AS 
select year("input_datetime") as year, month("input_datetime") as month, day("input_datetime") as day,hour("input_datetime") as hour, minute("input_datetime") as minute, count(result) as cnt, sum (case when result = 'High' then 1 else 0 end)  as high_sum, cast(sum (case when result = 'High' then 1 else 0 end) as real)/ cast(count(result) as real) *100 as per_high
from quicksight_test_table
group by  year("input_datetime"), month("input_datetime") , day("input_datetime") , hour("input_datetime") , minute("input_datetime");

今回は以上となります。

AWSを効率的に学習する方法

私が効率的にAWSを学習するために実施した方法は以下の通りです。
 ①最初に書籍(ハンズオンができる)を購入、座学でAWSの基礎を学習
 ②AWS資格試験を取得ための学習

※私の場合は①と②を合わせて2か月でソリューションアーキテクトを取得できました。

①AWS基礎学習

最初に購入した書籍は「Amazon Web Services 基礎からのネットワーク&サーバー構築」です。

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂4版

この本では、AWSの基本サービスを利用したハンズオンを通じて、AWSの基礎を学習することができます。

また、タイトル通りAWSのネットワークやインフラに関しても網羅しているため、もともとインフラ系の技術者ではない人たちにとっても分かりやすい内容だと思います。

とりあえずAWS上にサーバーを設定して開発を行うための準備までするには最良の一冊です。

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂4版

②AWS資格取得

AWSの基礎をある程度学習することができたら、次はAWS資格を取得しましょう。まずはAWSソリューションアーキテクトを目指しましょう。

資格勉強のための問題集をひたすら解きながら、AWSの知識を積み重ねて習得していきましょう!

苦行ではありますがこの問題集を3周ほどすればAWS用語や構成に関しても習得できているはずです。

AWS認定ソリューションアーキテクト-アソシエイト問題集

独学だと手が止まってしまう場合は、ササエル のようなインフラエンジニア向けのオンラインスクールを使う手もあります。ネットワークやサーバーの分野に絞ったカリキュラムなので、業務でインフラを触る人が学び直すのにも使えます

あわせて読みたい

コメント

タイトルとURLをコピーしました