ヤマムギ

growing hard days.

*

TuneCoreの売上データCSVをS3に格納してAthenaのクエリをRe:dashのデータソースにして可視化する

      2017/06/06


先日参加しましたAWS Summit Tokyo 2017で、
[JapanTaxi] Athena 指向アナリティクス 〜真面目に手を抜き価値を得よ〜(AWS Summit Tokyo 2017)を聞いてきました
ので、S3->Athen->Re:dashの構成をやってみたくなりましたのでやってみました。

TuneCoreという国内外の音楽配信サービスのディストリビューターとして一括で仲介してくれるサービスに個人的にお世話になっておりまして、その月次レポートをS3->Athen->Re:dashで可視化してみました。

S3の設定

特に設定するところはありません。
バケットを作成して、TuneCoreからダウンロード出来るCSVをアップロードしました。
CSVは1行目とフッタにあるコメント行を削除してShift-JISからUTF-8に変換しました。

Athenaの設定

[Add Table]からウィザードを使ってCSV選択で1カラムだけのテーブル作成のSQLを生成して、そこにカラムを手書きで足しました。

こんなSQLになりました。

Re:dash用のIAMの作成

Re:dash Help Center Amazon Athena Setupに準じて設定します。

アタッチするポリシーは
AWSQuicksightAthenaAccess

次のポリシーです。
「my-bucket」はAthenaの[Setting] – [Query result location]を設定しました。

Re:dashの設定

Re:dashのバージョンは1.0.3+b2850です。

ここからは手間取りましたが、最終的にこちらの2サイトの通りにやって出来ました。
ありがとうございます。

[Docker] ubuntu 14.04/16.04にDockerをインストール

Redash での Amazon Athena 連携に関して

Re:dashサーバにDockerをインストール

ubuntuは14.04です。

Athena ProxyサーバをDockerで起動するためにRe:dashサーバ(ubuntu)にDockerをインストールします。

Re:dashサーバでredash-amazon-athena-proxyを起動

IMAGE IDを確認して次のコマンドで使用

Re:dashの .envに環境変数を追加

※環境にもよりますがイメージからRe:dashを作っている場合は、 /opt/redash/.env

Re:dashでAthenaをデータソースに設定

Re:dashのデータソースでAmazon Athenaが選択出来るようなりました。

  • Name : 任意
  • Type : Amazon Athena
  • AWS Secret Key : 事前に作成したIAMユーザのシークレットキー
  • AWS Region : Athenaのリージョン
  • AWS Access key : 事前に作成したIAMユーザのアクセスキー
  • S3 Staging Path : Athenaの[Setting] – [Query result location]

これでクエリーが実行出来て、ビジュアライゼーションが作成出来て、ダッシュボードに設定出来ます。

ストア別とか、曲別とか、一覧とか作ってみて、、、、、
出来た!


最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

i

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

 - AWS, BI , , ,

ad

ad

  関連記事

WordPressをAmazon CloudFrontで配信してついでにACM(AWS Certificate Manager)を使って常時SSL化する

当サイトの500と502の発生状況がドイヒーであるとの苦情をいただきまして、Am …

AWSアカウント内のLambda関数を削除するLambda(Python)

やりたいこと 特定のAWSアカウントの特定リージョンのAWS Lambda関数を …

CloudWatch LogsメトリクスフィルタでNginxのaccess_logから転送バイト数をモニタリングする

ユーザーガイドのApache ログからのフィールドの抽出を見てて、これ、Ngin …

RDSの拡張モニタリングを有効にしました

RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …

AWS Lambda(Python3.7)でPandocを実行する

昨日まで(AWS Batch) 昨日までは、Pandocを実行して、S3バケット …

Systems Manager パブリックパラメータCLIでAWSのサービス数を出力してみました(2020/5/26)

先日のAWSのサービス数を数えてみました(2020/5/23)を見られて、お師匠 …

Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)

やりたいこと Feedlyで共有したいフィードに特定のタグを付けます。 特定のタ …

AWS CDK とにかくサンプルでやってみる

Cloud9でAWS CDK環境で作った環境でサンプルプロジェクトからのデプロイ …

EC2インスタンスが到達不能になって復旧してMackerelで監視し始めた

きっとばりばり使っておられる方ならよくある事なんだろうけど、はじめて体験したので …

AWS EC2 Amazon Linux にEC-CUBE3をnginx+MySql環境へインストール(手順検証中)

EC2インスタンスを作成する 少し古い記事で恐縮ですが試したい事があるのでAWS …