IntelliJ IDEAからSnowflakeに接続してクエリを実行する #SnowflakeDB
SnowflakeはJDBCドライバーを提供しています。これを利用することでJavaプログラムや各種のSQLクライアントツールからSnowflakeに接続してクエリを実行することができます。
本ブログ記事ではIntelliJ IDEAのデータベースツールを使ってSnowflakeに接続する方法をご紹介します(と言っても特別な手順はありません。IntelliJ IDEAのデータベースツールのごく一般的な使い方そのままです)。
動作環境
- OS : macOS Mojave v10.14.6
- Snowflake JDBC Driver : v3.10.0
- IntelliJ IDEA : 2019.2.3
Snowflakeのアカウント登録や基本操作については以下のブログ記事を参照ください。
- Snowflake のトライアルをやってみた #SnowflakeDB | DevelopersIO
- Snowflakeのチュートリアル「Snowflake in 20 Minutes」をやってみた #SnowflakeDB | DevelopersIO
JDBCドライバーのダウンロード
JDBCドライバーはMaven Central Repositoryからダウンロード可能です。
また、IntelliJ IDEAのデータベースツールからダウンロードすることも可能です(今回はこちらの方法を利用します)。
Snowflakeへの接続&クエリ実行
IntelliJ IDEAのデータベースツールにはSnowflake用の接続テンプレートがビルトインされています。これを利用するとSnowflakeへの接続設定を簡単に行えます。
- IntelliJ IDEAのデータベースツールを開きます。
- データソースの追加ボタン(+)をクリック - 「Data Source」-「Snowflake」を選択します。
- データソースの設定画面が起動します。画面下の「Download missing drive files」のリンクをクリックしてSnowflake用のJDBCドライバーをダウンロードします。手元のmacOS環境では、
~/Library/Preferences/IntelliJIdea2019.2/jdbc-drivers/Snowflake
にファイルが配置されました。
- ホスト名、ユーザー名、パスワードを入力します。それ以外の項目はオプションです。
項目 | 説明 | 必須/オプション | 例 |
---|---|---|---|
Host | <アカウントID>.<リージョン>.snowflakecomputing.com | 必須 | xy12345.ap-southeast-1.snowflakecomputing.com |
User | ユーザー名 | 必須 | sampleuser |
Password | パスワード | 必須 | |
Database | データベース名 | オプション | SAMPLE_DB |
Schema | スキーマ名 | オプション | PUBLIC |
Warehouse | ウェアハウス名 | オプション | SAMPLE_WH |
上記以外の接続パラメータを指定したい場合は、JDBCの接続URLを直接編集します。
例えばセッションで利用するロールを指定する場合は、接続URLに「role」パラメータを追加します。
jdbc:snowflake://xy12345.ap-southeast-1.snowflakecomputing.com/?role=samplerole
利用できる接続パラメーターについてはSnowflakeの公式ドキュメントを参照ください。
Configuring and Using the JDBC Driver — Snowflake Documentation
- 「Test Connection」を実行してSnowflakeに接続できることを確認します。
- 「Schemas」タブから、クエリ実行対象のデータベースを選択します。
- クエリを実行してみます。
まとめ
Snowflakeには「Worksheets」という純正のクエリエディタも用意されています。こちらはWebブラウザベースなので手軽に使えるのが魅力です。アドホックなクエリ実行環境としてはこのWorksheetsで十分かもしれません。
より高機能なクエリエディタを使ってSnowflakeにアクセスしたい、という場合は、今回ご紹介した手順を参考に各種SQLクライアントツールからSnowflakeへの接続をお試しください。