概要

日々データを扱う中でGoogle Spreadsheets(Googleスプレッドシート)をデータベースとして使用している方も多いと思います。
スプレッドシートの機能を利用してデータを見やすい表やグラフにすることは可能ですが、複数のシートにまたがるデータや、スプレッドシート上での操作では処理落ちしてしまうような大量のデータを分析する際には別途データの高速処理が可能なDWH(DWHについて詳しく知りたい方はこちら)を用意し、そちらにデータを統合するという流れが一般的です。

しかし、このようにデータが更新されるたびにその都度DWHへデータの転送を行い、DWH上のデータベースを最新の状態に保つのには手間がかかります。
そこで今回は、trocco®というデータ分析基盤構築サービスを使い、複雑なコーディング作業なしにスプレッドシートのデータをDWH(今回はSnowflake)へ統合、Lookerを用いたデータの可視化までやってみようと思います。

なお今回データの転送手段として採用したtrocco®は、スプレッドシートの他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。

Google SpreadsheetsのデータをSnowflakeに転送

ゴール

↓のようなスプレッドシートのデータを

Snowflakeに統合し、Lookerで可視化します(作成後は自動で最新のグラフに更新することも可能です)

こんな人におすすめ

  • スプレッドシートに集まるデータを毎回DWHに転送するのが面倒
  • Google フォームを利用したアンケートの結果を自動的に分析できるようにしたい
  • Lookerでデータ分析をやってみたい

1. trocco®でGoogle Spreadsheets → Snowflakeの転送自動化

1-0. 事前準備

データの転送のためにはtrocco®のアカウント、データ元となるスプレッドシートにアクセスするGoogleアカウントが必要になるほか、SnowflakeとLookerについてもアカウントが必要です。またtrocco®は無料トライアルを実施しているので、事前に申し込みをしておきましょう。

https://trocco.io/lp/index.html

(申し込みの際にこちらの記事を見たという旨を記載して頂ければご案内がスムーズに行なえます)

1-1. 転送元・転送先を決定

trocco®にアクセスして、ダッシュボードから「転送設定を作成」のボタンを押します。

転送元に「Google Spreadsheets」を指定し、転送先に「Snowflake」を指定して「この内容で作成」ボタンを押します。

設定画面になるので、必要な情報を入力していきます。

1-2. Google Spreadsheetsとの連携設定

まずは転送設定の名前とメモを入力します。trocco®には複数のユーザーでグループを構成し、グループ内で転送設定を共有する機能があり、他のメンバーと円滑に転送設定を共有するためです。

次に、「転送元の設定」内の「接続情報を追加」ボタンを押します。

別タブでスプレッドシートの接続情報の新規作成画面が開きます。
接続情報を作成するためにGoolgeのアカウントと連携する必要があります。

再度転送設定画面に戻り、接続情報の「再読込」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。

これでスプレッドシートとの連携は完了です。

1-3. Google Spreadsheetsからのデータ抽出設定

続いてどのようなデータを取得するかの設定をしていきます。

転送元となるスプレッドシートのURL、シート名、転送するカラム情報を入力します。

1-4. 転送先Snowflakeの設定

転送元と同様に設定し、Snowflakeの接続情報を作成していきます。

転送先となるSnowflakeの接続先ホスト、ユーザー名、及びパスワードが必要になります。

先ほど作成した接続情報を選択し、転送先とするウェアハウス、データベース名、スキーマ名を設定します。
転送モードに関しては「replace」選択します。各転送モードの詳細はこちらの「転送モードについて」をご確認ください。

これで入力は完了です。「保存して自動データ設定・プレビューへ」をクリックし、確認作業に進みましょう。

1-5. データのプレビュー

設定に従って転送元のデータが取得され、プレビューが作成されます。

転送したいデータが問題なく取得できているので、転送設定を保存し、「スケジュール・通知設定」に進みます。

1-6. スケジュール・通知設定

「スケジュール・トリガー設定」タブを開きます。

「スケジュールを追加」ボタンを押すと、以下のようなモーダルが出てきます。ここで実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。

1-7. データ転送ジョブの実行

設定は以上です。最後に、手動で転送ジョブを実行し、Snowflakeにデータを送ります。
手動で実行する場合はジョブ詳細画面の「実行」ボタンを押します。

これで設定は完了です。

2. Snowflakeの設定

Snowflake側で特に設定することありませんが、プレビューを確認してみるとたしかにデータが転送されていることがわかります。

3. Lookerで可視化

最後にこれらのデータをLookerで可視化していきます。

まずはSnowflakeとLookerを接続の設定を行います。
管理タブを開いて「データベース」の「接続」を開きます。

接続しているデータベース一覧が表示されています。ここで「Add Connection」→「Database Connection」から接続するデータベース情報を入力します。

Snowflakeのデータベースに接続できたら、次はデータを可視化するために必要なLookMLプロジェクトを作成していきます。 開発タブを開いて「LookMLプロジェクトの管理」に移動します。

「New LookML Project」からLookMLプロジェクトを作成します。

「Create Project」を押したら、エディタでmodelとviewを定義します。 後々必要になるので、modelの中ではexploreを設定しておきましょう。 (書き方が分からない場合はLookerの公式ドキュメントを参照してください)

これで下準備が整いました。トップページに戻って「New」からDashboardを作成します。

白紙のダッシュボードが作成されるので「spreadsheets_ダッシュボード」と名前をつけます。
そして「Dashborardの編集」→「タイルの追加」を選択し、先ほどのmodel内で定義したExploreを選択します。

ディメンションとメジャーを設定し、Tileに表示したいデータをプロットします。例えば、年別の加工食品の消費者物価指数を分析したいときはディメンションに「年度」とメジャーに「加工食品」を選択します。

そのほかに必要なタイルを作成し、ダッシュボードにまとめていきます。

これで完成です。

まとめ

いかがでしたでしょうか。trocco®を使うとスプレッドシートの管理画面を触ることなく、簡単にデータを取得し、DWH(今回はSnowflake)への統合出来ます。
またSnowflakeにデータを統合し、Lookerと連携することでデータを使って膨大なデータでも実用に堪えるスピードでグラフを作り、可視化出来ます。
実際に弊社サービスのtrocco®においても、マーケティングKPI等をこのような流れで収集・分析しています。
ぜひ広告データ分析の際にはご活用ください。

実際に試してみたい場合は、クレジットカード不要のフリープランや無料の製品資料を提供しているので、ぜひ一度お試しください。

hirokazu.kobayashi

慶應義塾大学卒業後、2014年より株式会社リブセンスへ入社。データエンジニアとして同社分析基盤立ち上げをリードする。2017年より現職primeNumberに入社。自社プロダクト「systemN」におけるSpark/Redshift活用等のデータエンジニアリング業務を行うかたわら、データ統合業務における工数削減が課題だと感じ、データ統合を自動化するサービス「trocco®」を立ち上げる。