Watson Query でsnowflakeを仮想化しよう！！！（データソース登録入門）

# Snowflakeデータの仮想化までの流れ

Watson Queryを使って、Snowflakeのデータを仮想化するには、以下の流れで行います。

1. Snowflakeをデータソースとして登録する
1. SnowflakeのテーブルをWatson Queryの機能で仮想化する

これらの手順のうち、Snowflake固有の手順となるのは、データソースの登録方法です。
この記事では主に、データソースとして登録する手順について説明し、最後にデータの仮想化について簡単にご紹介します。

# データソース登録方法の紹介
データソースとして登録するには、以下の２通りの方法があります。

1. 新規データソースの作成
1. 既存のデータソースを使用

新規データソースの作成は、snowflakeをWatson Query専用として接続情報を作成します。
既存のデータソースを使用では、CP4D であらかじめ作成した共用の接続情報を使用します。

当記事では、その方法について、簡単にご紹介します。

なお、前提は、Watson Query が既に有効済みであることです。

Watson Queryの有効化については、[こちら](https://qiita.com/Shumpei_Kubo/items/1ff4f6d98de1435ce458)を見て行なってください。


## 1. 新規データソースの作成
文字通り、Watson Query で使用するデータソースを新規に作成する手順です。
Cloud Pak for Data (以下、CP4D)にログイン後、「データ」→「データの仮想化」をクリックして、Watson Queryを起動します。
![スクリーンショット 2023-03-31 16.29.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/1eb34dcf-69c8-cc74-dd29-7e8fe994117f.png)
Watson Queryが起動すると以下の「データ・ソース」画面が表示されます。
![データ・ソース画面スクリーンショット 2023-03-31 16.41.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/7e1bbe9a-b25e-37e2-08b4-7b243914fab4.png)

### 1-1. 新規接続の追加
「データ・ソース」画面から、「接続の追加」-> 「新規接続」をクリックします。



### 1-2. サービス一覧の表示
「新規接続」の画面から、サービスの一覧が表示されます。
![新規接続画面1_スクリーンショット 2023-03-31 16.57.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/9f0bfdf8-309e-3e57-a4c0-b6250562765c.png)



### 1-3. サービスの選択
サービス一覧からSnowflakeを選択すると詳細の説明や互換性のあるサービス情報が表示されます。
![新規接続画面2_スクリーンショット 2023-03-31 17.00.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/af4b1dbb-70a6-c3ee-2f60-e48290e5679b.png)

Watson Queryが互換サービスに含まれていることが確認できます。
「選択」をクリックします。
「接続の作成：Snowflake」が表示されます。

### 1-4. 設定
以下の資料を参照して、Snowflakeの必要項目を記録し、「接続の詳細」・「資格情報」に記入します。
　[Cloud Pak for Data as a Service にSnowflakeを接続してみた。:プラットフォーム接続 への登録](https://qiita.com/Shumpei_Kubo/items/2bf7a91b6baa43a0f5bd#プラットフォーム接続-への登録)
必要な情報は、Snowflakeの「アカウント名」、「ロール名」、「ウェアハウス名」、「データベース名」です。
以下に記入例を紹介します。

#### 1-4-1. 接続の概要
![接続の概要_スクリーンショット 2023-03-31 17.08.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/91d478e4-9179-7607-7dba-66e3d4e7fd50.png)

#### 1-4-2. 接続の詳細
![接続の詳細スクリーンショット 2023-03-31 17.10.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/4346e90a-2f67-3ac9-899f-e7a30172aad9.png)

#### 1-4-3. 資格情報
![資格情報_スクリーンショット 2023-03-31 17.14.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/99dd4d7b-3225-cb54-d1d7-66a2d4684902.png)

#### 1-4-4. 接続テスト
記入が終わったら、「接続テスト」を実施します。
![接続情報の作成スクリーンショット 2023-03-24 18.45.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/dd406c96-56ed-6113-a1b8-bbade893ec26.png)
「接続テスト」が成功したら、「作成」をクリックします。

成功すると以下の画面が表示されます。
![データソース新規登録結果画面_スクリーンショット 2023-03-24 18.47.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/63af6349-80f9-1d79-8a40-5f2afd65fe17.png)
データソース・リストに、"snowflake1"が新たに作成されていることがわかる。

ちなみに、CP4Dの「プラットフォーム接続」を参照しても、先ほど作成した「snowflake1」は作成されていないことがわかる。
![プラットフォーム接続一覧には表示されない_スクリーンショット 2023-03-24 18.50.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/a4ac2edf-0dc2-f469-9461-a8171429d68e.png)

## 2. 既存のデータソースの使用
CP4D の「プラットフォーム接続」をクリックし、「接続」タブに表示される「接続済みデータ・ソース」一覧にある接続情報を使用します。
プラットフォーム接続への追加方法は、[プラットフォーム接続 への登録](https://qiita.com/Shumpei_Kubo/items/2bf7a91b6baa43a0f5bd#プラットフォーム接続-への登録)をご参照ください。

### 2-1.既存のプラットフォーム接続の追加
Watson Queryの「データ・ソース」画面から、「接続の追加」-> 「既存のプラットフォーム接続」をクリックします。
 ![接続の追加_既存のプラットフォーム接続スクリーンショット 2023-03-24 17.36.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/f3ca9314-b781-801e-2ca5-de8265561ae7.png)

### 2-2.「続行の確認」画面の表示
以下の、「続行の確認」画面が出てきます。
![既存のプラットフォーム接続を選ぶと出てくるメッセージスクリーンショット 2023-03-24 17.50.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/cc539708-05af-612d-1302-4c3254575c84.png)
これは、後続の処理でエラーになった場合の対処法を紹介しています。CP4Dの「プラットフォーム接続」に追加してすぐに、Watson Queryから「既存のプラットフォーム接続」を選ぶと発生するようです。
発生した場合は、画面の手順に従って、CP4Dの「プラットフォーム接続」にアクセスし直してください。

### 2-3.「既存の接続を追加画面」の表示
事象が解消している場合は、以下のような画面が表示されます。
![既存の接続画面1_スクリーンショット 2023-03-31 17.51.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/ede8d30a-0f65-bb0c-672f-32fb1982553d.png)
snowflake2を選択後、「追加」をクリックします。

### 2-4.接続追加後の画面表示
正常に追加されると、以下のような画面が表示されます。
![既存の接続画面2_スクリーンショット 2023-03-31 17.53.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/e4451f9b-c85f-3b23-d60e-713848e59bc3.png)


# データの仮想化
Snowflakeのデータソースへの登録が完了すると、Watson QueryからSnowflakeのテーブルが参照可能になります。

## 3.Snowflakeのデータの仮想化
簡単ではありますが、Snowflakeデータの仮想化手順について紹介します。

### 3-1.仮想化画面への移動
テーブルを参照するには、Watson Queryのメニューから「仮想化」→「仮想化」をクリックします。
![仮想化へ移動_スクリーンショット 2023-03-31 18.46.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/7e26f3e4-f261-8739-e93a-625378713b14.png)

### 3-2.仮想化画面とフィルター設定
以下の画面が表示されます。

![仮想化画面_スクリーンショット 2023-03-31 18.52.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/d57070a8-6c2a-40c5-eb42-66c6de2b1cce.png)

フィルター基準の「ソースタイプ」で、Snowflakeを選ぶと、Snowflake上のテーブルが一覧に表示されます。
![仮想化画面_フィルタ_スクリーンショット 2023-03-31 18.55.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/bb564356-0582-35fd-5c37-c35ddb5d7b9d.png)

### 3-3.仮想化の実施

### 3-3-1.カートへの追加

一覧から、仮想化したいテーブル（この例では、CALL_CENTER）を選んで、「カートに追加」をクリックします。
![仮想化の実施_スクリーンショット 2023-03-31 19.16.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/c5c615ba-cce2-8048-5666-8f7e67c79969.png)

### 3-3-2.カートの表示
「カートの表示」をクリックして追加した中身を確認します。
![カートの表示_スクリーンショット 2023-03-31 19.19.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/4bd312ad-c090-995b-5a94-43eb3e07eb2f.png)

### 3-3-3.仮想化の実行
カートに登録したテーブルに問題がなければ、「仮想化」をクリックします。
![仮想化の実行_スクリーンショット 2023-03-31 19.20.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/81202d72-d479-ec71-cfd0-4facdbcb6515.png)


仮想化の設定の詳細については、以下のQiita記事をご参照ください。
[データ（テーブル）を仮想化する](https://qiita.com/mkmr2021/items/717cb210810bdb51f764#3-データテーブルを仮想化する)


仮想化をクリックすると、以下のメッセージが表示されます。
![仮想化実行中メッセージ_スクリーンショット 2023-03-31 19.23.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/3d5cdc86-b7af-0491-0ffc-42408eec41a9.png)

仮想化されたデータを参照するには、「Go to virtualized data」をクリックします。

### 3-3-4.仮想化結果の表示
「仮想化データ」画面に移動します。
![仮想化データ_スクリーンショット 2023-03-31 19.27.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/0070e607-266e-faff-0ff2-647e41718954.png)
CALL_CENTERが表示されていることが確認できます。
CALL_CENTERの中身を確認するには、CALL_CENTERを選択したまま、右端のメニューをクリックします。
![プレビュー表示_スクリーンショット 2023-04-04 12.51.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/7b16bffc-1e1a-c41f-916b-bf4467155822.png)
「詳細の表示」をクリックします。
すると、「プレビュー」タブにデータが表示されるので内容を確認できます。
![プレビュー結果_スクリーンショット 2023-04-04 12.50.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13492/ecfe8121-0348-0709-0942-e40120128c50.png)


以上です。