お問い合わせ
4 分で読むことができます

【データ連携】troccoでGoogle SpreadsheetsからSnowflakeへデータを送ってみた

執筆者 BI LAB編集室 更新日時 2020年12月04日

Topics: etl trocco
SaaS型データ連携ツール trocco(トロッコ)でGoogle Spreadsheets→Snowflakeのデータ転送を試してみました。

目次

troccoとは?

troccoとは、primeNumber社が提供しているSaaS型のデータ統合(連携)ツールです。
データ転送・整備・ワークフロー構築が簡単にGUIで簡単に実現できるのが特徴です。2020年07月17日リリースノート | trocco(トロッコ)

処理エンジンにはデータ転送のOSSとして実績豊富なEmbulkを採用。
インフラはKubernetesクラスタで管理されているためスケーラビリティが高く、同時実行性能にも優れています。

 

Embulk と Argo でデータ転送する|オグラハヤト|note   GKEでRedmineサーバーを立てる〜(1)基本編 | ウネリ技術ブログ

 

私見ですが、スクラッチで同じようなツールを作ろうとすると初期構築コストが結構掛かると思います。
まずはコンテナオーケストレーションサービス(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へデータを送ってみた」でした!

 

 

Snowflakeを体験してみませんか?

INSIGHT LABではSnowflake紹介セミナーを定期開催しています。Snowflakeの製品紹介だけでなく、デモンストレーションを通してSnowflakeのシンプルなUI操作や処理パフォーマンスの高さを体感いただけます。

詳細はこちら

BI LAB編集室

執筆者 BI LAB編集室

BI LAB(データ活用研究所)編集室です。 BI、AI、DWHなどデータ活用に関するトレンドやニュースやコラムをほぼ毎日配信しています。押さえておきたい基本知識から、最新ニュース、事例インタビューやお役立ち情報・セミナーレポートまで、データ活用の専門家ならではの視点と情報量でお届けします。

4 分で読むことができます。
Snowflakeの料金体系|クレジットと費用最適化のポイントをご紹介
5 分で読むことができます。
【禁断の比較?】SnowflakeとTreasure Dataを比べてみました
1 分で読むことができます。
誤ってupdateしてしまったレコードをtime travelで復元する
5 分で読むことができます。
【Snowflake】新機能「Streamlit in Snowflake」とは何者か!?
3 分で読むことができます。
AWS Lambdaを使ってSnowflakeとSFTPサーバーを連携してみた