モブプロな人たちのブログ

Web サービス開発しているエンジニアの日記です。Python 大好き Flask 大好き。たまに Swift で iOS ゲーム開発も。

Amazon Athena に Boto 経由でアクセスし、良い感じにデータを取得してみた

こんにちは、kaorr です。

はじめに

Amazon Athena は便利です。

マネジメントコンソール上でクエリを叩けるし、結果も見れるし。

f:id:kaorr_mob:20171128234635j:plain

Athena と出会った時の気分(くらい爽快な青空)

 

とはいえ、コマンドラインで良い感じにしたい、って気分の時ももちろんあります。

Python 大好きな私は、Boto でチャチャっと出来るんだろうなぁと軽く考えていました。

 

現実の厳しさ

「とりあえず Boto のドキュメント見てみるかぁ」とアクセスしました。

Athena — Boto 3 Docs 1.4.8 documentation

 

・・・ん?

 

f:id:kaorr_mob:20171128235032p:plain

 

f:id:kaorr_mob:20171128235419j:plain

メソッド多すぎ・・・!

 

整理

よくよく見てみると大したことはなくて、

 ・クエリの開始:start_query_execution()

 ・クエリの進捗確認:get_query_execution()

 ・クエリの結果取得:get_query_results()

基本はこの3つで良さそうです。

EC2 インスタンスに入って、IPython でパタパタと打ち込んでみることにします。

 

スクリプトにしてみた

gist90b28b1b4b3feceb10ee4e984ff1c7f9

例外処理とかは一旦スルーします。

 

感想

やっぱり Boto は最高の仲間でした。

Athena は、仕組みをもう少し勉強する必要ありそうです・・・。

f:id:kaorr_mob:20171129003343j:plain