Denodo にて Snowflake 上テーブル向けのビューを作成する
こんにちは、川田です。今回は、Denodo 上に Snowflake テーブルに対する基本ビューを作成してみます。
Denodo 公式ドキュメントにて Snowflake 環境への接続ドキュメントが用意されており、そちらに沿って作業を実施します。
HOW TO CONNECT TO SNOWFLAKE FROM DENODO
Denodo から接続する方法として、以下 2 種類が用意されています。
- Snowflake の USER/PASSWORD 認証 を利用する方法
- Snowflake の USER/KEY PAIR 認証 を利用する方法
今回は USER/PASSWORD の認証方法にて、接続を試みます。
環境
- Denodo Platform 8.0 (Denodo Express)
- Snowflake 8.11.4
利用する Denodo 環境は、無償版にあたる Denodo Express を利用しています。
事前作業
Snowflake 側に、Denodoより接続する環境を作成します。以下の内容にて作成しています。
リソース | 名前 |
---|---|
データベース名 | TEST_DENODO_DB |
スキーマ名 | PUBLIC |
テーブル名 | TEST01 |
ウェアハウス名 | DENODO_WH |
ユーザー名 | DENODO_USER |
ユーザーパスワード | ******** |
ロール名 | DENODO_ROLE |
データベースとテーブルを作成します。
USE ROLE SYSADMIN; CREATE DATABASE TEST_DENODO_DB; CREATE TABLE TEST_DENODO_DB.PUBLIC.TEST01 ( COL1 INTEGER NOT NULL, COL2 INTEGER NOT NULL ); INSERT INTO TEST_DENODO_DB.PUBLIC.TEST01 VALUES (1, 1);
ウェアハウスを作成します。
CREATE WAREHOUSE DENODO_WH WITH WAREHOUSE_SIZE = XSMALL MAX_CLUSTER_COUNT = 1 AUTO_SUSPEND = 60 INITIALLY_SUSPENDED = TRUE;
ロールとユーザーを作成します。
USE ROLE SECURITYADMIN; CREATE ROLE DENODO_ROLE; GRANT ROLE DENODO_ROLE TO ROLE SYSADMIN; GRANT USAGE ON WAREHOUSE DENODO_WH TO ROLE DENODO_ROLE; GRANT USAGE ON DATABASE TEST_DENODO_DB TO ROLE DENODO_ROLE; GRANT USAGE ON SCHEMA TEST_DENODO_DB.PUBLIC TO ROLE DENODO_ROLE; GRANT SELECT ON ALL TABLES IN SCHEMA TEST_DENODO_DB.PUBLIC TO ROLE DENODO_ROLE; GRANT SELECT ON FUTURE TABLES IN SCHEMA TEST_DENODO_DB.PUBLIC TO ROLE DENODO_ROLE; CREATE USER DENODO_USER PASSWORD = '********'; GRANT ROLE DENODO_ROLE TO USER DENODO_USER; ALTER USER DENODO_USER SET DEFAULT_ROLE = DENODO_ROLE DEFAULT_WAREHOUSE = DENODO_WH;
Denodo 側の作業
Web Design Studio より操作を行います。
File
-> New
-> Data Source
-> JDBC
を選択し、新しい Snowflake 向けの Data Source を以下の通り追加します。
パラメーター | 値 |
---|---|
Name | snowflake_test_denodo_db |
Database adapter | snowflake |
Database URL | jdbc:snowflake://XXXXXXXX.ap-northeast-1.aws.snowflakecomputing.com/?db=TEST_DENODO_DB&schema=PUBLIC&warehouse=DENODO_WH |
Transaction isolation | Read Commited |
Authentication | Use login and password |
User | DENODO_USER |
Password | ******** |
Database URL の値は、以下の形式で入力します。
jdbc:snowflake://host/?db=database&schema=schema&warehouse=warehouse
続いて CREATE BASE VIEW
タブを選択します。事前作業で用意したテーブルが参照できていることを確認し、Create selected
をクリックしベースビューを作成します。
以下の通りベースビューを作成できました。