読者です 読者をやめる 読者になる 読者になる

/var/log/laughingman7743.log

I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?

PyAthenaJDBCでRedashのクエリランナー書いてみた

redash-athena-proxy*1を使ってRedashからAthenaにクエリを投げれる環境を作っていたのですが、どうもtimestamp型やdate型の戻り値が日付として上手く認識しない。。。
おそらくproxy側のGSONの日付型のシリアライズ設定の問題かと思われるのですが、調べるのだるい、proxyのような外部プログラムを別に立てるのやめたい、かつ自分で作ったライブラリ*2でクエリランナーが簡単にかけそうだったので書いてみました。(ほとんどPrestoのクエリランナーのコピペですが)

Docker環境で運用してるので以下の様にベースのイメージにOpenJDK等を入れたイメージを作成しています。(あまりイメージのスリム化とかは意識していないのであしからず)
環境変数REDASH_ADDITIONAL_QUERY_RUNNERS=redash.query_runner.athena の設定を忘れずに。以下のDockerイメージであれば、必須項目の設定だけでAthenaにつながります。 (インスタンスのIAMロールにも対応してるのでアクセスキーの設定は必須ではなかったりするのですが、もろもろ事情があって必須設定にしています)

S3のデータを雑に検索できるのは非常に便利なのですが、いかんせん遅い。。。ORC+Snappyでも遅い。。。とにかく遅い。。。
速度面でBigQueryに対抗できるプロダクトになってくれると良いですね。

Enjoy!