Snowflakeに手動でロードしたデータをWKCのデータカタログに登録してみた。

# この記事の位置づけ

- この記事は、[IBM Cloud Paks Advent Calendar 2021 Advent Calendar 2021] (https://qiita.com/advent-calendar/2021/cloudpaks) の12/6分として記載します。
- 投稿したのは12/20ですが、忙しくて今の今まで書く時間がなかったのです。
- 空きがあったので後からですけどエントリーしました。

#やりたいこと
- Snowflakeに任意のデータをロードして、そのデータをCp4DaaSのデータカタログに登録してみる、という内容です。

# ロード用データの準備
- [こちら](https://hogehoge.tk/personal/)で生成してダウンロードしたダミーデータを、（後で結合するので、）このような感じで2分割します。
    - ![スクリーンショット 2021-12-20 18.32.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/b30675f5-3274-8b00-e326-882c5f7e7209.png)

    - 個人情報を記載したdummy-persons.csv
    - 個人のモバイルの情報を記載したdummy-mobiles.csv
    - 各々は「連番」列が共通しています。
    - なお、記載されている情報はすべてダミーであり、いわゆる個人情報（実在する生きている個人の情報）には該当しません。
- 今回、Snowflakeにはdummmy-persons.csvをロードしてみます。
- （dumm-mobiles.csvは別なデータベースにロードします）

# Snowflake にデータをロードする。
- [Snowflakeのこちらのサイト](https://docs.snowflake.com/ja/user-guide/data-load-web-ui.html)を参照しながら、データをロードします。

## データベースの作成

- 画面左上の「Databases」をクリックして、「Create...」をクリックします。
![スクリーンショット 2021-12-20 18.11.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/cee5d022-505d-9046-7f63-d1ee1f5771c0.png)

- 名前とコメントを入れて、「Finish」をクリックします。
![スクリーンショット 2021-12-20 18.14.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/5fac266e-793d-41c7-3772-31949518201f.png)

- データベースが作成されました。ここで作成したデータベース「SNOW_DEMO」をクリックします。
![スクリーンショット 2021-12-20 18.21.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/dfe65413-ea7e-6c23-931a-c9c37b9a741a.png)

##テーブルの作成

- 「Create...」をクリックします。
![スクリーンショット 2021-12-20 18.23.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/7b17755e-df65-3bb9-0157-a41b3b20e7a5.png)

- テーブル名を入力し、「Add」ボタンをクリックして元データのcsvに対応する列を追加していきます。
![スクリーンショット 2021-12-20 18.59.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/a60fb781-5303-ac7d-cbf6-cfd2610f9c0d.png)

- 今回のcsvデータの列名を元に、以下を列として追加します。完了したらFINISHをクリックします。
    - 連番:INTEGER型
    - 氏名:STRING型
    - 氏名（カタカナ）:STRING型
    - 性別:STRING型
    - 郵便番号:STRING型
![スクリーンショット 2021-12-20 19.01.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/93c021cd-a142-ecb8-b4e6-b9f61aaf599c.png)

- 念の為列名が英語のバージョンも作っておきます。
![スクリーンショット 2021-12-20 19.03.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/a0b66cdb-a2a7-75d9-1823-6d31abd7a9fd.png)

- データをロードするテーブルが出来ました。
![スクリーンショット 2021-12-20 19.04.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/2a12d57f-7c3c-b8c3-df42-4b63967f2660.png)

- テーブル名をクリックして内容を確認します。
- 「Load Table」をクリックしてデータをロードします。
![スクリーンショット 2021-12-20 19.07.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/24708545-5440-8040-94a1-027cbf033a3a.png)
- 対応するWarehouseとして、デフォルトで選択される「COMPUTE_WH」をが選択されていることを確認し、「Next」をクリックします。
![スクリーンショット 2021-12-20 19.12.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/d8cd5f43-7eef-4e8d-3f8f-bc43cff84c24.png)
- ソースファイルを選択する画面です。「Source Files...」をクリックします。
![スクリーンショット 2021-12-20 19.13.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/717cafbc-aacf-daec-c48b-9f0db5e9c1ed.png)

- 対象ファイルを選択した後は、「Next」をクリックします。
![スクリーンショット 2021-12-20 19.14.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/c933b176-a231-4553-8c0e-316abc8dcdd9.png)

- フォーマットの選択画面です。「＋」ボタンをクリックします。
![スクリーンショット 2021-12-20 19.18.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/3c45f122-286c-2fcc-750e-99aad8e45d0a.png)
![スクリーンショット 2021-12-20 19.18.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/75ea6b79-38e3-8bc7-11f4-b2853f4d0831.png)
    - フォーマット名を入れます。またフォーマットがCSVであることを確認して、Finish をクリックします。
![スクリーンショット 2021-12-20 19.21.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/94724198-0821-8930-3882-c6b433b39b78.png)

- フォーマットが上記で作成された名称になっている事を確認して、「Load」をクリックします。
![スクリーンショット 2021-12-20 19.23.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/3fc5bbfa-e7d8-a5c5-1449-c670e52a47ff.png)

- エラーになりました。
![スクリーンショット 2021-12-20 19.23.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/7da4b20a-cb0e-0e7e-ed55-81aa3242a4de.png)

- 多分、1行目に入ってる列名の「連番」というのがINTEGER型にそぐわなかったのでしょう。ここを削って再度ロードしてみましょう。

- データの1行目にあったヘッダを削除しました。
![スクリーンショット 2021-12-21 0.13.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/cb1ff1b5-36f4-4586-905a-243caf9a2e6c.png)

- 再度ロードします。
![スクリーンショット 2021-12-21 0.14.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/504b390a-f539-6973-adb9-b314c61bea9d.png)

- ロード完了しました。「OK」をクリックします。
![スクリーンショット 2021-12-21 0.14.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/c81a45c6-438d-ca73-e8dd-784123319641.png)

## ロードされたデータの確認

### デモデータ確認用の新しいワークシートの作成

- 画面上部の「WorkSheets」をクリックして「+」ボタンをクリックします。
![スクリーンショット 2021-12-21 0.19.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/39601444-2687-23e7-9297-371f2e2aa1c0.png)

- ワークシートに新規名称を付けます（ここではSNOW_DEMO）。
- 画面左側からデータベース「SNOW_DEMO」をクリックします。
- スキーマ「Public」を選択し、「Tables」をクリックして、先程データをロードした「DUMMYPEOPLE」テーブルをクリックします。
- 画面左下の「Preview Data」をクリックします。
- 画面下部にデータのプレビューが表示されます。
- 無事にデータがロードされたことがわかりました。
![スクリーンショット 2021-12-21 0.27.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/5d006285-ea9c-336c-2fa5-cd1b0d5a9138.png)

- 上記は、列名英語版で実施したので、日本語版の列名のテーブル（同じデータ）デモ作成しておきましょう。
![スクリーンショット 2021-12-21 0.58.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/304309ac-bed0-3fdb-83d6-33f8c7be7f6e.png)



#CP4DaaSのWKC（データカタログ）にSnowflakeのデータを登録する。

## SNOW_DEMO への接続
- [こちらの手順](https://qiita.com/Shumpei_Kubo/items/2bf7a91b6baa43a0f5bd)を参考にして、Snowflakeの「SNOW_DEMO」への接続定義を作成しましょう。

- 上記では「SNOW_FLAKE_SAMPLE_DATA」を対象データベースとしていましたが、こちらでは「SNOW_DEMO」を対象データベースとして接続定義を作成しました。
![スクリーンショット 2021-12-21 0.46.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/062a63c2-a1c7-ad92-6a78-e8a2ae0507fe.png)


## カタログに追加
- [こちらの手順](https://qiita.com/Shumpei_Kubo/items/cc5e67c4db146188a94f)を参考にして、Snowflakeの「SNOW_DEMO」への接続定義とデータ資産「DUMMYPEOPLE」をカタログに登録しましょう。

- 接続定義が登録されました。
![スクリーンショット 2021-12-21 0.52.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/3bee99a9-c665-6577-b1d0-1171336376f4.png)

- データ資産が登録されました。
![スクリーンショット 2021-12-21 0.55.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/2ca3fe4a-1249-2a6d-67c5-299cb94954bc.png)
![スクリーンショット 2021-12-21 0.55.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/2b87e6c4-7aa6-0274-e732-7e13003e44c3.png)

- 列名が日本語のテーブルも登録しておきました。
![スクリーンショット 2021-12-21 1.00.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/2e4f2e8f-2a0a-e763-a7a7-c7fd5915b959.png)
![スクリーンショット 2021-12-21 1.01.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/295123/7115e8f7-3e21-787e-60e4-774dd87feae5.png)