yamamanx

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]

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

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

@yamamanx
開発ベンダー5年、ユーザ企業システム部門通算8年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

 - AWS, BI , , ,

ad

ad

Message

メールアドレスが公開されることはありません。

  関連記事

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

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

AWS Well-Architected フレームワークによるクラウド ベスト プラクティスのセッションを聞いたので自アカウントの環境を確認してみる

AWS Summit Tokyo 2017で「AWS Well-Architec …

AWS EC2 でインスタンスにIPアドレスを紐付ける

AWS EC2で作ったサーバは何もしなければ起動するたびにIPアドレスが変わって …

Amazon LinuxにAlfresco Community Editionをインストールする

ダウンロード準備 Alfresco公式サイトで、「エンタープライズコンテンツ管理 …

AWS EC2 インスタンスステータスのチェックで失敗 原因はPHP-FPMのOOM-KILLER

先週に引き続きEC2のインスタンスステータスチェックで失敗 再起動するも失敗する …

slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)

slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …

MySQL WorkbenchからRDSに接続する

MySQL WorkbenchからAWS RDSのMySQLに接続するために、「 …

Amazon Cognito User Poolsのデモをしてみました

AWS Summit 2016 Tokyoのアップデートおっかけ会をJAWS-U …

AWS Summit 2016 Tokyoに参加してきました (Day3)

飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …

Re:dashを0.12系から1.0系へアップグレードする

1.0系が正式リリースになったので0.12系からアップグレードしました。 .en …