こんにちは。データサイエンティスト兼、データ基盤エンジニアのshobyです。
今回は、DataGripからAmazon Athenaを使用する方法をご紹介します。
概要
- DataGripとAthenaについて
- DataGripからAthenaを利用する
DataGripとAthenaについて
DataGripはJetBrains製のCross PlatformなSQL用IDE、AthenaはS3に対してクエリが発行できるサーバーレスの分析環境です。
DataGripからAthenaを利用することで、IDEならではの強力なコード補完機能を利用しつつ、S3上のファイルに対してクエリを発行することができるようになります。
DataGripやAthenaの詳細に関しては以下の記事をご参照ください。
DataGripからAthenaを利用する
AthenaはAWSからJDBC Driverが提供されており、DataGripから簡単に使用することができます。
- JDBC Driverをダウンロード
- AWSのkeyを発行
- DataGripに設定
JDBC Driverをダウンロード
以下のページからAthenaのJDBC Driverをダウンロードし、任意のディレクトリに置きます。
最新版のDriverはJDK 8.0以上が必要なため、入っていなければ事前にインストールしておきましょう。
homebrew caskを使用する場合は以下の通りです。
brew cask install java
AWSのkeyを発行
Athena Full Accessの権限を持つkeyを発行します。
AthenaにはGlue、S3など複数のサービスの権限が必要であり、必要最低限の権限を付与するのは難易度が高いため、Athena Full Accessの権限を付与するのをおすすめします。
Athena Full Accessは、AthenaとGlueに対しては強い権限を持ちますが、S3にはAthena専用のバケットに結果を書き込む程度の権限しか持ちません。
DataGripに設定
DataGrip公式ブログの記事を参考に設定を行います。
Using AWS Athena from IntelliJ-based IDE | DataGrip Blog
Driverの追加
Data GripにAthena Driverの追加を行います。
まず、File > DataSourcesの"+"ボタンからDriverの追加を選びます。
Additional Filesから任意のディレクトリに設置したJDBC Driverファイルを追加し、Classに com.simba.athena.jdbc42.Driver
を選びます。
また、URL Templateには、以下の文字列をセットします
jdbc:awsathena://athena.[{host::eu-west-1}].amazonaws.com[:{port::443}][\?<;,UID={user:param},PWD={password:param},{:identifier}={:param}>]
Data Sourceの追加
Athena Driverを使い、DataSourceを追加します。
まず、GeneralタブのHostにAWSのリージョン名、UserにAccess Key Id、PasswordにSecret Access Keyを追加します。
続いて、AdvancedタブのS3OutputLocationにAthenaの実行結果を出力するS3バケットのPathを追加します。
入力する値は、AWSコンソール上からAthenaを開き、設定にあるデフォルトPathです。
Test Connectionを押して問題なく接続できれば設定は完了です。
クエリの実行
あとは、通常のDBと同様にDataGrip上から統一したインターフェースでクエリの実行ができます。
まとめ
DataGripからAthenaを利用することで、DataGripの強力なコード補完機能を活用しつつ、統一したインターフェースでクエリが実行できるようになります。