LoginSignup
10
5

More than 5 years have passed since last update.

DataGripからJDBC経由でAthenaを利用する

Last updated at Posted at 2018-11-17

Amazon AthenaにはAWSのマネージメントコンソールから、SQL実装&クエリログ保存ができるUIが提供されており、便利に使えます。
ちょっとした調査や分析であればこれで十分なのですが、ローカルのDB統合環境からつなげるとより捗りそうです。

もともと、SQL Serverを扱う際にSQL Operation Studioを使っていたのですが、UIや動作でつらみが結構あり、DataGripに切り替えたところ劇的に改善されたので、その流れで今度はログ調査でよく利用しているAthenaの接続を試みることにしました。

Athenaにローカル接続できる専用ツールは見つからない

GUIの専用ツールは見つけられず(2018/11/15時点)。あったら使ってみたい

Athena用のJDBCドライバが公式に配布されている

AWSからJDBCドライバが提供されており、これを使えばツールからの接続ができそう
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/connect-with-jdbc.html

AthenaJDBC42-2.0.5.jar は、JDBC 4.2 と互換性があり、JDK 8.0 以降が必要です。

すでに試している方がいる(欧州)

eu-west-1(アイルランド)リージョンですでにDataGrip -> Athenaの手順をまとめてくれている方がいました(感謝)。
今回はこちらを参考に、Athenaのデータストア(S3)が東京リージョンの場合の手順をまとめてみます。
https://medium.com/datamindedbe/connect-to-aws-athena-using-datagrip-c34762e37a17

JDBC接続に必要なもの(事前準備)

接続までの手順

DataGrip上にAthena接続用JDBCを登録

メニューの Driver より新規ドライバの追加画面へ

スクリーンショット_2018-11-16_14_27_57.png

AthenaのJDBCを登録

  • Driver filesにダウンロードしてきたJDBCのjarファイルを指定
  • Classで com.simba.athena.jdbc.Driver を選択 Data_Sources_and_Drivers_と_test.png

メニューの Data Source より Athena を選択し、接続設定へ

スクリーンショット_2018-11-17_11_34_00.png

Athenaの接続情報を登録

  • General タブにであることを確認
  • Userにアクセスキー、 Passwordにシークレットアクセスキーを入力
  • URLに jdbc:awsathena://athena.ap-northeast-1.amazonaws.com:443/ を入力
    Data_Sources_and_Drivers.png

  • Adbanced タブに移動

  • S3OutputLocationに s3://実行結果保存用のバケット名 を入力

※ここではAthenaのデータストア、実行結果保存用のバケットともに ap-northeast-1 の場合を想定
*Regionが異なる場合は、同じリスト内にあるAwsRegion欄を設定する必要があるかも知れません
Data_Sources_and_Drivers_と_test.png

  • General タブに再び移動
  • Test Connectionをクリック
  • ボタン横に「Successful」と表示されれば接続成功 🎉
  • 右下のOKを押して、接続情報の登録を完了

RubyMineなどのDatabase機能でも同様の接続が可能

RubyMineなどのDatabase機能も、DataGrip互換の機能が利用できるようで、そちらからもAthena接続が可能でした。

DataGrip使えるライセンスじゃない or 買うほどじゃないという方はありかもしれません。
(個人的には独立して使えるDataGripがおすすめ)

10
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
5