🐥

trocco ローカル環境からSnowflakeにデータを挿入する

2023/02/23に公開

はじめに

troccoにフリープランが出ましたのでこれから触っていきたいと思っています。今回はまずローカル環境からSnowflakeにデータを転送する処理だけを行っていきたいと思います。

前提

  • trocco
    • フリープランを使用します
    • 事前にSnowflake側の接続設定を行います。設定するパラメーターは下記になります
      • 接続名
      • SnowflakeのURL(<アカウントロケーター>.<リージョン>.<クラウド>.snowflakecomputing.com)
      • 認証方法を指定(今回はユーザ・パスワード認証を採用)
      • ユーザー名
      • パスワード
      • 注意) 設定するユーザーのデフォルトロールはテーブルに書き込む権限が必要になります。詳細はドキュメントを参照ください
  • Snowflake
    • 何かしらのアカウントを準備します
    • 上記で接続するユーザ及びロールの作成を行います
    • insertを行うデータベース・スキーマを事前に作成します

作業の流れ

1. troccoの初期画面

  • 左の転送設定をクリックします

2. 転送元及び転送先を指定

  • 転送元を「ローカルファイル」、転送先を「Snowflake」とします

3. 転送元の設定

  • 下記を入力します
    • 転送元の名称
    • ローカルファイルの指定
    • 入力ファイル(今回はcsv)

4. 転送先の設定

  • 下記を入力します
    • Snowflakeの接続情報(前提で作成した接続情報を指定します)
    • ウェアハウス(事前にSnowflake側で作成)
    • データベース(事前にSnowflake側で作成)
    • スキーマ(事前にSnowflake側で作成)
    • テーブル(事前にSnowflake側で作成)
    • 転送モード

5. プレビュー画面の確認

  • データがロードされた際のプレビューを確認します
  • また画面では見切れていますが、カラム名やデータ型の修正、入力・出力オプションが設定できます

6. ymlファイルで内容を確認

  • これまで設定してきた内容を確認します

7. ジョブの概要を確認

  • 「最近のジョブ」では直近で実行された内容が表示されます
  • また右側ではスケジュール管理や通知などの設定を行うことができます

8. ジョブの実行

  • 右上の「実行」をクリックします

9. ジョブの実行確認

  • ステータスが「Succeeded」になっていることを確認します
  • 「実行ログ」ではその名の通り実行時のログが吐き出されています

10. Snowflake側で確認

  • insertしたSnowflake側のテーブルに対してデータが格納されているか確認します
  • はいっています!!

さいごに

慣れれば3分ほどでデータ転送ができそうです。またデータ転送時の設定でオプションが豊富であり、また通知やジョブのトリガー設定などカスタムできる範囲が広そうだなと思いました。

Discussion