ヤマムギ

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]

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

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


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

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

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

 - AWS, BI , , ,

ad

ad

  関連記事

PyCharmにAWS CloudFormationプラグインをインストールして入力補完してみる

JetBrainsのPython統合開発環境(IDE)のPyCharmを1年ちょ …

JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE + 絶対圧センサーで遊ぼう!」ワークショップにいってきた

JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE …

API Gatewayから直接 DynamoDBに書き込む

やりたいこと WebページでOやXを押したときに、どっちを押したかをDynamo …

AWS Transit GatewayのVPCアタッチメント

構成 これぐらいの構成なら、VPCピアリングでいいのですが、Transit Ga …

EFSのマウントターゲットがデフォルトで作成されるようになってました

ひさしぶりにAmazon EFSファイルシステムを作成しました。 作成手順がすご …

AWS CloudWatch LogsエージェントでAmazon EC2上のNginxのaccess.log , error.log , php-fpm error.log , Linuxのmessages , secureログを収集する

参考ページ クイックスタート: 実行中の EC2 インスタンスに CloudWa …

AWS Lambda Layersのアーカイブファイルをダウンロードする

Cloud9にLambda Layersをダウンロードしたかったので検索してみた …

特定AWSアカウント特定リージョンのSNSトピックを削除するLambda(Python)

やりたいこと 特定アカウント内特定リージョン内のSNSトピックを全部削除したいで …

ALBのヘルスチェックでPHPとMySQL接続をチェック

当ブログで504エラーが発生して、オートスケーリングにより自動でインスタンスが置 …

re:dash Error running query: ‘ascii’ codec can’t encode characters

エラー内容 re:dashの画面に「Error running query: & …