Redash での Amazon Athena 連携に関して

More than 1 year has passed since last update.


概要

Redash が Amazon Athena を正式サポートしたとのことで試そうと思ったら上手くいかなかったので備忘録的な


使う物

redash-amazon-athena-proxy

公式で作っている Redash で Athena に接続するためのプロキシです


使い方

redash-amazon-athena-proxy は Dockerfile が用意されてるので今回は Docker のコンテナ上で起動することにしました


Ubuntu に Docker をインストール

[Docker] ubuntu 14.04/16.04にDockerをインストール を参考にインストールしました


ソースを取ってきて Docker で起動

$ cd /path/redash-amazon-athena-proxy

$ sudo docker build .
$ sudo docker run -d --name redash-amazon-athena-proxy -p 4567:4567 イメージID

Docker が上手く動いているか試す

$ curl -H "Accept: application/json" \

-H "Content-type: application/json" \
-X POST -d '{"athenaUrl":"jdbc:awsathena://athena.[us-east-1|us-west-2].amazonaws.com:443/","awsAccessKey":"アクセスキー","awsSecretKey":"シークレットキー","s3StagingDir":"s3://[Athena用バケット]","query":"SELECT 1"}' \
http://localhost:4567/query


Redash の環境変数に追加

デフォルトだと「/etc/redash/.env」

export ATHENA_PROXY_URL=http://localhost:4567/query

上記内容を追記してRedashを再起動します

$ sudo supervisorctl restart all


雑感

今回苦労した点だと「ATHENA_PROXY_URL」の指定の仕方がわからなかったことです

ソースをみたところ「/query」で受け取るように書かれていたので気付けました…

また環境変数の設定が「.env」に書く必要があるというのも途中から Redash の入ってる環境を見た為、気付くのに時間がかかりました…