目次
troccoとは?
troccoとは、primeNumber社が提供しているSaaS型のデータ統合(連携)ツールです。
データ転送・整備・ワークフロー構築が簡単にGUIで簡単に実現できるのが特徴です。
処理エンジンにはデータ転送のOSSとして実績豊富なEmbulkを採用。
インフラはKubernetesクラスタで管理されているためスケーラビリティが高く、同時実行性能にも優れています。
私見ですが、スクラッチで同じようなツールを作ろうとすると初期構築コストが結構掛かると思います。
まずはコンテナオーケストレーションサービス(AWSだとECS/EKS + Fargate)でEmbulkの実行環境を用意して、次に各種プラグインをインストールして、DigDagでワークフロー管理して、Git連携して、etc...
想像したら結構ハードですね…
troccoなら初期構築コストが不要で、10万円/月~で導入することができます。
トライアルも用意されているので、興味のある方はぜひ公式HPをご確認ください。
https://trocco.io/lp/index.html
やりたいこと
さて今回は表題の通り、troccoを使ってGoogle Spreadsheetsに入力したデータをSnowflakeに転送してみようと思います。
設定から転送まで10分程度で完了します。(速い!)
では早速やってみましょう。
接続情報を設定
troccoの[接続情報]ページを開き、[新規作成]をクリックします。
Google Spreadsheetsの設定
[接続情報作成]ページが開きます。[Google Spreadsheets]を選択して下さい。
認証方法をGoogleアカウントかJSONキーか選べますが、今回は[Googleアカウントを連携する]を選択します。
Google認証画面が表示されるので、任意のGoogleアカウントを選択し、認証を完了します。
任意の接続名を入力し、[保存]をクリックします。
[接続情報]ページを確認すると、スプレッドシートの接続先が一覧に追加されています。
続いてSnowflakeの接続情報も設定しましょう。
Snowflakeの設定
先ほど同様、接続情報作成画面を開いたら[Snowflake]を選択して下さい。
任意の接続名/接続先ホスト(URL)/ユーザー名/パスワードを入力し、[保存]をクリックします。
[接続情報]ページを確認すると、Snowflakeの接続先が一覧に追加されています。
接続情報の設定は以上です。
転送設定を作成
[転送設定]ページを開き、[新規転送設定作成]をクリックします。
転送元に[Google Spreadsheets]、転送先に[Snowflake]を選択し、[この内容で作成]をクリックします。
概要設定
[転送設定作成]ページが開きます。
最初は概要設定です。任意の転送名を入力して下さい。
転送元Google Spreadsheetsの設定
次はGoogle Spereadsheetsの設定です。
[Google Spreadsheets接続情報]欄では、
先ほど設定した接続情報(画面では「spreadsheets」)を選択して下さい。
他の欄については、読み込みたいスプレッドシートを確認して入力してください。
ちなみに今回読み込むスプレッドシートは下記です。
ヘッダ行があるので、[取り込み開始行番号]は2にする必要がありますね。
転送先Snowflakeの設定
続いてSnowflakeの設定です。
[Snowflake接続情報]欄では、
先ほど設定した接続情報(画面では「snowflake」)を選択して下さい。
[ウェアハウス]欄には今回の転送処理で利用したいウェアハウス名を入力し、
[データベース名]/[スキーマ]/[テーブル]欄に転送先の情報を入力します。
[転送モード]欄ではinsert/insert_direct/truncate_insert/replaceの4モードが選べます。
画面では「全件削除して挿入」処理になるtruncate_insertを選択しています。
設定し終えたら[保存して自動データ設定・プレビューへ]をクリックします。
データプレビュー・詳細設定
データプレビューが表示されます。
プレビューが問題ないようでしたら、[設定を完了する]をクリックします。
ちなみに下のタブ(データ設定/入力オプション/出力オプション/ジョブ設定)で詳細設定ができますが、今回は省略します。
※詳細設定ではデータのマスキングや文字列置換、ジョブのリトライ回数等の設定ができます。
これで転送設定は完了です。
転送ジョブを実行する
ジョブを実行してデータを転送してみましょう。
先ほど作成した転送設定の[実行]をクリックします。
続いて[ジョブを実行]をクリックします。
ジョブの実行ページが開きます。
ステータスが[SUCCEEDED]になったら実行成功です。
Snowflakeを開いてデータが入っているか確認してみましょう。
SnowflakeのWebコンソールから該当テーブルにSELECT文を実行してみると…この通り!
Spreadsheetsで入力したデータが転送されていますね。
最後に
今回はGoogle Spreadsheets → Snowflakeのデータ連携を検証しました。
troccoは他にも50種類以上のデータソースに対応していますので、別のデータソースでの検証記事も今後掲載できれば、と思います。
以上、「【データ連携】troccoでGoogle SpreadsheetsからSnowflakeへデータを送ってみた」でした!