0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2021-12-20

この記事の位置づけ

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

#やりたいこと

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

ロード用データの準備

  • こちらで生成してダウンロードしたダミーデータを、(後で結合するので、)このような感じで2分割します。
    • スクリーンショット 2021-12-20 18.32.39.png

    • 個人情報を記載したdummy-persons.csv

    • 個人のモバイルの情報を記載したdummy-mobiles.csv

    • 各々は「連番」列が共通しています。

    • なお、記載されている情報はすべてダミーであり、いわゆる個人情報(実在する生きている個人の情報)には該当しません。

  • 今回、Snowflakeにはdummmy-persons.csvをロードしてみます。
  • (dumm-mobiles.csvは別なデータベースにロードします)

Snowflake にデータをロードする。

データベースの作成

  • 画面左上の「Databases」をクリックして、「Create...」をクリックします。
    スクリーンショット 2021-12-20 18.11.00.png

  • 名前とコメントを入れて、「Finish」をクリックします。
    スクリーンショット 2021-12-20 18.14.06.png

  • データベースが作成されました。ここで作成したデータベース「SNOW_DEMO」をクリックします。
    スクリーンショット 2021-12-20 18.21.35.png

##テーブルの作成

  • 「Create...」をクリックします。
    スクリーンショット 2021-12-20 18.23.26.png

  • テーブル名を入力し、「Add」ボタンをクリックして元データのcsvに対応する列を追加していきます。
    スクリーンショット 2021-12-20 18.59.48.png

  • 今回のcsvデータの列名を元に、以下を列として追加します。完了したらFINISHをクリックします。

    • 連番:INTEGER型
    • 氏名:STRING型
    • 氏名(カタカナ):STRING型
    • 性別:STRING型
    • 郵便番号:STRING型
      スクリーンショット 2021-12-20 19.01.08.png
  • 念の為列名が英語のバージョンも作っておきます。
    スクリーンショット 2021-12-20 19.03.22.png

  • データをロードするテーブルが出来ました。
    スクリーンショット 2021-12-20 19.04.03.png

  • テーブル名をクリックして内容を確認します。

  • 「Load Table」をクリックしてデータをロードします。
    スクリーンショット 2021-12-20 19.07.56.png

  • 対応するWarehouseとして、デフォルトで選択される「COMPUTE_WH」をが選択されていることを確認し、「Next」をクリックします。
    スクリーンショット 2021-12-20 19.12.48.png

  • ソースファイルを選択する画面です。「Source Files...」をクリックします。
    スクリーンショット 2021-12-20 19.13.31.png

  • 対象ファイルを選択した後は、「Next」をクリックします。
    スクリーンショット 2021-12-20 19.14.42.png

  • フォーマットの選択画面です。「+」ボタンをクリックします。
    スクリーンショット 2021-12-20 19.18.11.png
    スクリーンショット 2021-12-20 19.18.48.png

    • フォーマット名を入れます。またフォーマットがCSVであることを確認して、Finish をクリックします。
      スクリーンショット 2021-12-20 19.21.32.png
  • フォーマットが上記で作成された名称になっている事を確認して、「Load」をクリックします。
    スクリーンショット 2021-12-20 19.23.02.png

  • エラーになりました。
    スクリーンショット 2021-12-20 19.23.39.png

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

  • データの1行目にあったヘッダを削除しました。
    スクリーンショット 2021-12-21 0.13.39.png

  • 再度ロードします。
    スクリーンショット 2021-12-21 0.14.21.png

  • ロード完了しました。「OK」をクリックします。
    スクリーンショット 2021-12-21 0.14.54.png

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

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

  • 画面上部の「WorkSheets」をクリックして「+」ボタンをクリックします。
    スクリーンショット 2021-12-21 0.19.01.png

  • ワークシートに新規名称を付けます(ここではSNOW_DEMO)。

  • 画面左側からデータベース「SNOW_DEMO」をクリックします。

  • スキーマ「Public」を選択し、「Tables」をクリックして、先程データをロードした「DUMMYPEOPLE」テーブルをクリックします。

  • 画面左下の「Preview Data」をクリックします。

  • 画面下部にデータのプレビューが表示されます。

  • 無事にデータがロードされたことがわかりました。
    スクリーンショット 2021-12-21 0.27.30.png

  • 上記は、列名英語版で実施したので、日本語版の列名のテーブル(同じデータ)デモ作成しておきましょう。
    スクリーンショット 2021-12-21 0.58.40.png

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

SNOW_DEMO への接続

  • こちらの手順を参考にして、Snowflakeの「SNOW_DEMO」への接続定義を作成しましょう。

  • 上記では「SNOW_FLAKE_SAMPLE_DATA」を対象データベースとしていましたが、こちらでは「SNOW_DEMO」を対象データベースとして接続定義を作成しました。
    スクリーンショット 2021-12-21 0.46.54.png

カタログに追加

  • こちらの手順を参考にして、Snowflakeの「SNOW_DEMO」への接続定義とデータ資産「DUMMYPEOPLE」をカタログに登録しましょう。

  • 接続定義が登録されました。
    スクリーンショット 2021-12-21 0.52.17.png

  • データ資産が登録されました。
    スクリーンショット 2021-12-21 0.55.18.png
    スクリーンショット 2021-12-21 0.55.43.png

  • 列名が日本語のテーブルも登録しておきました。
    スクリーンショット 2021-12-21 1.00.46.png
    スクリーンショット 2021-12-21 1.01.02.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?