目次
はじめに
こんにちは。Deckです。
この記事ではVizlib Writeback TableをSnowflakeに接続し、Snowflakeのデータベースを保存先に設定する方法を解説します。
前提として、環境はQlik Cloud+Vizlib Server for Qlik Cloudを利用しています。
手順1. Snowflake データベースとスキーマを作成
Snowflakeの管理コンソールにログインします。
Databaseページに移動し、「+Database」をクリックします。
-png.png?width=1157&height=277&name=image(91)-png.png)
データベース名を入力し、「Create」をクリックします。
-png.png?width=510&height=420&name=image(92)-png.png)
「+Schema」をクリックします。
-png.png?width=1163&height=463&name=image(93)-png.png)
スキーマ名を入力し、「Create」をクリックします。
-png.png?width=516&height=476&name=image(94)-png.png)
Snowflake側ではテーブルは作成しません。
理由としてはVizlib Writeback Tableでは名称がランダム生成のカラムがあり、この段階ではテーブルのカラム名を事前準備しておくことが困難であるためです。
あらかじめ用意したデータをWriteback Tableにインポートしたい場合、一通りの設定が終わった後にSnowflakeコンソールからデータをテーブルにインサートする必要があります。その手順については後ほど解説します。
手順2. Vizlib Server Integration設定
VMCにアクセスします。
SYSTEM SETTINGS>INTEGRATIONSに移動します。
「Add Integration」をクリックします。
-png.png?width=1919&height=910&name=image(95)-png.png)
Integrationの設定項目を入力します。
- Type: snowflake
- Id: 任意の文字列
- Database: Snowflake側で作成したデータベース名
- Username: Snowflakeのユーザー名
- Authennicator: 認証方法 例では「Password」を選択
- Password: Snowflakeのユーザーのパスワード
- Account: Snowflakeのアカウント名
- Warehouse: 利用するウェアハウス名
- Role: 利用するロール名
-png.png?width=1455&height=758&name=image(131)-png.png)
正しく設定が行われると、ダッシュボードに緑色で「Snowflake」のアイコンが追加されます。
-png.png?width=589&height=182&name=image(97)-png.png)
手順3. Vizlib Server Destination設定
WRITEBACK SETTINGS>DESTINATIONSに移動し、「Add Destination」をクリックします。
-png.png?width=1919&height=911&name=image(98)-png.png)
Destinationの設定項目を入力します。
- Id: 任意の文字列
- Destination Type: Snowflake
- Operation: Update
- Reload Options: Reload App
- App: {{APPID}}
- HubSpotの記事レンダリングの都合上全角にしていますが、実際は半角で入力します
-png.png?width=1489&height=571&name=image(99)-png.png)
- DB Integration: プルダウンから選択
- Schema: 先ほど作成したスキーマを選択
- Table Name: 先ほど作成したテーブルを選択
- Allow columns creationをオン
-png.png?width=1484&height=472&name=image(100)-png.png)
その他の設定項目はデフォルトとします。
宛先が追加されました。
-png.png?width=1527&height=410&name=image(101)-png.png)
手順4. 検証用アプリ作成
Qlik Cloudに移動し、新規アプリを作成します。
-png.png?width=759&height=713&name=image(102)-png.png)
シートの編集に移動し、Vizlib Writeback Tableを追加します。
-png.png?width=478&height=802&name=image(103)-png.png)
「Set up」をクリックします。
-png.png?width=298&height=278&name=image(104)-png.png)
宛先を選択します。
ここで認証ウインドウが表示される場合があります。
- Type: Server
- Writeback Destination: 先ほど作成した宛先
「Continue」をクリックします。
-png.png?width=1646&height=743&name=image(105)-png.png)
「Create column」をクリックして、いくつか項目を追加します。
「Continue」をクリックします。
-png.png?width=1642&height=742&name=image(106)-png.png)
「Open editor to adjust」をクリックします。
-png.png?width=1650&height=746&name=image(107)-png.png)
Writeback Tableで使用する項目に合わせたテストスクリプトを作成します。
このスクリプトはあとで削除します。
-png.png?width=266&height=93&name=image(108)-png.png)
一旦リロードを行います。
手順5. テストデータ追加とテーブル生成
シート画面に移動します。
テストデータを追加し、「Writeback data」をクリックします。
-png.png?width=1225&height=755&name=image(109)-png.png)
テーブルを生成するか確認するウインドウが開きます。
「Ok」をクリックします。
-png.png?width=512&height=258&name=image(110)-png.png)
データの書き込みが行われますが、まだ読み込みをする設定をしていないので空のテーブルが表示されます。
-png.png?width=1229&height=753&name=image(111)-png.png)
手順6. Snowflake接続スクリプト作成
スクリプト編集画面に移動します。
先ほど追加した仮のスクリプトを削除します。

「接続の新規作成」をクリックします。
-png.png?width=385&height=201&name=image(112)-png.png)
コネクタはSnowflakeを選択します。
-png.png?width=1538&height=697&name=image(113)-png.png)
接続情報を入力します。
- Server: サーバーURL
- Database: データベース名
- Schema: スキーマ名
- Role: ロール名
- Authenication Mechanism: ユーザー名&パスワード
-png.png?width=1454&height=657&name=image(132)-png.png)
作成したデータ接続から「データを選択」をクリックします。
-png.png?width=384&height=166&name=image(115)-png.png)
必要なテーブルと項目にチェックをつけ、「スクリプトを挿入」をクリックします。
-png.png?width=1512&height=619&name=image(116)-png.png)
スクリプトが自動生成されました。
-png.png?width=521&height=327&name=image(117)-png.png)
データのリロードを行います。
-png.png?width=760&height=799&name=image(118)-png.png)
再度テストデータを入力します。「Writeback data」をクリックします。
-png.png?width=1228&height=756&name=image(119)-png.png)
書き込んだデータが反映されました!
-png.png?width=1228&height=752&name=image(120)-png.png)
Snowflake側にも書き込んだデータが反映されています。
-png.png?width=1153&height=408&name=image(121)-png.png)
手順7(オプション). CSVからSnowflakeにデータを追加
さらに、このテーブルにCSVで用意したレコードを追加してみましょう。
取り込み対象となるCSVファイルを用意します。
-png.png?width=1452&height=166&name=image(122)-png.png)
Snowflakeのテーブル画面から「Load Data」をクリックします。
-png.png?width=1167&height=213&name=image(123)-png.png)
ロードするCSVを選択します。
-png.png?width=946&height=780&name=image(124)-png.png)
File formatは「Delimitered Files(CSV or TSV)」を選択します。
-png.png?width=1633&height=789&name=image(125)-png.png)
CSVデータの取り込みが行われました。「Done」をクリックします。
-png.png?width=758&height=466&name=image(126)-png.png)
Data Preview画面でCSV由来のレコードが正しく追加されていることを確認します。
-png.png?width=1298&height=582&name=image(129)-png.png)
Qlik Senseに更新を反映させるために、データのリロードを行います。
-png-1.png?width=763&height=801&name=image(128)-png-1.png)
CSV由来のレコードが無事に反映されました!
-png.png?width=1911&height=741&name=image(130)-png.png)
以上でVizlib Writeback Tableの保存先をSnowflakeに設定する方法の解説を終わります。


