13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

YouTubeチャンネルを開設したのでAmazon QuickSightで可視化したい!

Posted at

はじめに

 アクションカメラの購入をきっかけに趣味である登山での映像を投稿するYouTubeチャンネルを開設しました。動画を投稿すると、YouTubeStudioからアナリティクスを確認することが可能ですが、AWSを勉強しているということもあり、せっかくならばAmazon QuickSightを利用できないか考えました。今回は、Qiitaの投稿やAWSの公式ブログを参考にYouTubeAPIを活用してDynamoDBに動画データを保管し、QuickSightで可視化してみました。

※どのチャンネルなのか特定されないよう、動画IDや動画タイトルは隠しています。

作ったもの

 技術検証:AWS Lambdaを使ってYouTube APIから動画データをDynamoDBに挿入する実践手順を参考にYouTubeAPIを利用して動画データを取得するLambdaで動画IDを入力し、画面右上の「テスト」をクリックします。するとQuickSightでは設定に応じてこれまでに取得した動画データをもとにグラフが表示されるようにしました。今回は動画別視聴回数を表示する棒グラフ・動画別評価数を表示する折れ線グラフ・投稿した動画のデータの一覧が確認できるテーブルの計3つを作成しました。

qiita1.png

qiita10.png

 今までに投稿した動画が1つだけということもあり、グラフの見栄えとしては微妙なのでYoutubeAPIによって取得した動画データを保管しているDynamoDBに手動でサンプルデータを追加しました。再度確認すると、より分析らしいグラフになったのが分かります。

qiita11.png

構成図

forqiita2.png

詳細

YouTubeAPIを利用して動画データを取得し、DynamoDBに保管する

 参考にした技術検証:AWS Lambdaを使ってYouTube APIから動画データをDynamoDBに挿入する実践手順の手順通りに、今回は動画IDをもとに動画タイトル、視聴数、高評価数、低評価数、投稿日時を取得します。先程のテスト実行時に挿入した動画データがDynamoDBにあることが確認できます。

qiita4.png

DynamoDBに保管したデータをQuickSightで可視化する

 まさにやりたいことが、AWSの公式ブログに記載されていました。Visualize Amazon DynamoDB insights in Amazon QuickSight using the Amazon Athena DynamoDB connector and AWS Glueをもとに進めていきます。今回はYoutubeAPIによって取得した動画データが保管されているDynamoDBと可視化に利用するQuickSight以外にもAthenaとGlueを利用します。QuickSightではデータソースとしてリレーショナルデータストアを使用するため、NoSQL型であるDynamoDBを選択することができないからです(利用可能なデータソース)。

image.png
 そのため、NoSQLデータに対してSQLクエリを実行することができるAthenaを利用します。ただスキーマ情報を認識しないと、SQLを利用した抽出ができないため、Glueを利用します。Glueクローラーを用いることでデータソースのスキーマ情報を自動で検出しGlueデータカタログに登録することができます。動画データが保存されているDynamoDBをデータソースとしてGlueクローラーを実行すると、YouTubeAPIで取得した項目がスキーマとして登録されていることが確認できます。

image.png
 Athenaで動画データが保存されているDynamoDBに対して、すべてを取得するSelect文を実行してみると、YoutubeAPIで取得した動画データが抽出されていることが確認できます。これによってDynamoDBに対してもSQLクエリを実行できるようになりました。

qiita5.png

 あとはQuickSightで分析したい項目に対してグラフを作成するのみです。データセットからAthenaを選択します。データを活用するうえで最適なビジュアルタイプや、フォーマットを設定することで分析が可能です。どういった項目を設定できるかは長くなるので省きますが、実際に使ってみるとかなり設定の柔軟性が高いように感じました。まだまだ投稿した動画が1つのみということでBIツールとして利用するにはほど遠いですが、ある程度投稿できたら改めて利用し、いろいろな設定も合わせて確かめていければと思います。

qiita10.png

補足

 LookerStudioを学ぶ機会が最近あったので、同様にYouTubeのデータを可視化しました。
こだわるとさらに高度な可視化もできるみたい

qiitasss.png

 結果としてQuickSightと大差ないグラフを作成することができました。QuickSightで表示させるまでにはYoutubeAPIやDynamoDB、Athenaを活用しましたがLookerStudioではYouTubeアナリティクスが初めからデータソースとして選択することができます。その為いくつか手順が必要なQuickSightと比較してLookerStudioは手軽でかつ素早く可視化が可能です。

qiita15.png

 データをどう活用するかも重要ですが、どのBIツールを活用するかも大切だと改めて感じました。もちろんQuickSightにはLookerStudioにない強みを持っているので、今後は、各BIツールの強みを理解し、それぞれ適切に活用していきたいと思います。

記事が良かった・参考になったと思ったらいいね!を付けてくれると嬉しいです!

13
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?