そのほか
2024/09/24
與田 龍人

LookerからSnowflakeへの接続設定について

Looker

Snowflakeは強力なクラウドデータプラットフォームであり、Lookerと組み合わせることで、データ分析のパフォーマンスをさらに向上させることができます。しかし、LookerからSnowflakeに接続するためには、正しい権限や設定が必要です。本記事では、Snowflake側でのロールやユーザ設定、ウェアハウスの作成、さらにはLooker側での接続設定について、手順をわかりやすくまとめました。

はじめに

LookerからSnowflakeへの接続を成功させるためには、まずSnowflake側で適切な設定を行うことが重要です。Looker専用のユーザとロールの作成、ウェアハウスの設定、データベースやスキーマに対する権限の付与が必要です。また、Snowflakeの各種オプションや機能を最大限に活用するためには、ウェアハウスの設定も最適化する必要があります。


ここでは、具体的な手順を一つ一つ見ていきます。


1. Looker用のロールとユーザの作成

まずは、Lookerが接続するためのSnowflake上のロールとユーザを作成します。




  • ACCOUNTADMINロールを使用 Snowflakeの最高権限を持つ ACCOUNTADMIN ロールを使用して作業を進めます。




    use role ACCOUNTADMIN;





  • Looker用ロールの作成 Lookerが利用する専用のロールを作成します。既に存在する場合は再作成されません。




    create role if not exists looker_role;





  • SYSADMINにLooker用ロールへのアクセスを許可 LookerのロールがSYSADMINロールにアクセスできるように権限を付与します。




    grant role looker_role to role SYSADMIN;





  • Looker用ユーザの作成 Lookerが接続に使用する専用のユーザを作成し、そのユーザにロールを割り当てます。また、デフォルトで使用するロールとウェアハウスも設定します。





create user if not exists looker_user password = '任意のパスワード';
grant role looker_role to user looker_user;
alter user looker_user
set default_role = looker_role
default_warehouse = 'looker_snow';


これで、Looker専用のロールとユーザが作成され、Snowflakeのデータベースやスキーマへの接続ができるようになります。


2. Looker用ウェアハウスの作成

次に、Lookerがクエリを実行するために使用するウェアハウスを作成します。ウェアハウスはSnowflakeの計算リソースであり、Lookerからのクエリ実行に必要です。


SYSADMINロールを使用 ウェアハウス作成時には SYSADMIN ロールを使用します。



use role SYSADMIN;


Looker用ウェアハウスの作成 Looker専用のウェアハウスを作成します。このウェアハウスは中サイズに設定し、自動サスペンドと自動再開機能を有効にします。



create warehouse if not exists looker_snow
grant all privileges on warehouse looker_snow to role looker_role;


これにより、Lookerは LOOKER_SNOW ウェアハウスを使用してクエリを実行できるようになります。


 


3. データベースとスキーマのアクセス権限の付与

次に、Lookerがデータベースやスキーマにアクセスできるように、適切な権限を付与します。


データベース・スキーマへの権限付与 Lookerがデータベース TEST やスキーマ TEST にアクセスできるようにするための権限を付与します。



grant usage on database TEST to role looker_role;
grant usage on schema TEST to role looker_role;


テーブルへのSELECT権限付与 Lookerがテーブルデータにアクセスできるように、テーブルに対する SELECT 権限を付与します。



grant select on table TEST.TRANSACTIONS_DATA to role looker_role;
#以下は永続権限
grant select on future tables in schema TEST.TEST to role looker_role;


これにより、LookerがSnowflake上のデータベースやスキーマ内のテーブルにアクセスしてクエリを実行できるようになります。


 


 


4. Looker側での接続設定

Snowflake側の設定が完了したら、次はLooker側で接続設定を行います。Lookerの管理画面で、新しい接続を追加し、次の項目を入力してください:




  • 接続名: 任意の名前(例:snow_looker_demo

  • ホスト: ホスト名.snowflakecomputing.com (SnowflakeUIの左下にあるアカウントからコピーできます。)


 




  • データベース: TEST

  • スキーマ: TEST

  • ウェアハウス: LOOKER_SNOW

  • ユーザ名: looker_user

  • パスワード: 設定したパス


さらに、Additional JDBC Parameters に以下を追加します:



WAREHOUSE=LOOKER_SNOW





接続テストを行い、成功すればLookerからSnowflakeへの接続が完了です。




 


最後に

SnowflakeとLookerを接続するためのステップは、適切なロールやユーザの設定、ウェアハウスの作成、そして必要な権限の付与です。これらを適切に設定することで、LookerからSnowflakeのデータをシームレスに活用できる環境が整います。


今回紹介した手順を参考にして、効果的なデータ分析環境を構築し、ビジネスインサイトの発見に役立ててください。


New call-to-action