byClassmethod検索AWSAlexaモバイルビッグデータサーバーレスTableauAlteryxイベントPyAthena+SQLAlchemyでAthenaをPythonicに実行して結果を取得してみたAthena2019年01月08日haoyayoi(44)15この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。Athenaを使う業務のバッチ処理にて、ORM併用やS3から結果を取得するフローをより楽にできたりしないものかと思っていたところ、まさしくそのものの組み合わせがあったため試してみました。Athena用クライアントです。PEP249については以下のリンク先を参照してください。クエリの実行方法に掲載されています。PyAthenaに依存したCLIクライアントとしてathenacliがあります。SQLAlchemyサポートされているSQLAlchemyのバージョンは1.0.0以上となります。今回はSQLAlchemy内でPyAthenaを経由してAthena上でSQLを実行し、結果をS3から取得します。create_engineに渡すURLスキームがathenaベース指定となる部分以外、SQLAlchemyそのものとなります。main.py30PyAthena単体実行SQLAlchemyの記述スタイルが上手く使えない場合は、PyAthenaでの直接実行を利用する方法もあります。""")print(cursor.fetchall())まとめこれまでにboto3を用いて、AthenaでのSQL実行SQLの実行完了待ちS3より実行結果のダウンロードダウンロードしたデータの展開と、1つ1つ順を追って処理してきたことが数行で完了できてしまいました。正直なところ呆然とした感覚もあるのですが、ライブラリの有用性が自力で手間をかけて実装した経験により更に実感できたという点もあります。PyAthenaは、Athenaの処理実行待ちとS3からダウンロードしたファイルの展開までを自動で行うため、実施するSQLの記述だけに専念できます。バッチ処理等でAthenaでの集計結果をダウンロードするシーンにはとても有効だと思われますので、同じような状況の方は試してみてはいかがでしょうか。447,262Apple製品を愛用しています。最近の個人的流行りはリアル脱出ゲームとアズールレーン、FF14。〜ITエンジニアのお仕事とホンネ〜2月19日に新卒向けの会社説明会〜ITエンジニアのお仕事とホンネ〜を開催します。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。使いたいときの注意点を書きました。EC2)環境において、不要な踏み台サーバをなくすことができる便利なアップデートです。環境をDockerで構築してみました。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介252SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健231こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。