概要
Boxは、Googleが提供するGoogleドライブ、Microsoftが提供するOneDriveなどと同じクラウドストレージサービスです。Googlドライブ、OneDriveなどは各サービスのアカウントが必要であったり、ストレージ容量の制限があるなどの理由でBoxをメインのクラウドストレージとして利用している企業もあるのではないでしょうか。
Boxは単なるファイルの置き場としての機能の他に、クラウド上で動作するデータベースとしても使えます。ですがBox上のデータを基に分析するには別途DWH(データウェアハウス)とのデータパイプラインを構築し、BIツールと連携させるというデータ分析基盤の構築が必要になり、エンジニア以外の人にはハードルが高いです。
そこで今回は、trocco®というデータ分析基盤構築サービスを使い、Boxのデータ抽出、DWH(今回はGoogle BigQueryを利用します。)へのデータ統合自動化、Looker Studio(旧:Googleデータポータル)というBIツールを用いた可視化を行います。
なお今回データの転送手段として採用したtrocco®はBoxの他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。

ゴール
下のようなBoxのデータをGoogle BigQueryへ統合し、

Looker Studioで可視化します(作成後は自動で最新値に更新することも可能です)

こんな人におすすめ
・BoxのデータをGoogle BigQueryに自動的に蓄積させたい
・Boxのデータをうまく活用して分析をしたいが、データの転送作業に苦戦している
・さまざまなデータの分析に時間の浪費を感じている
1. trocco®でBox → Google BigQueryの転送自動化
1-0. 事前準備
データの転送のためにはtrocco®のアカウント、Google BigQueryを利用するためのGoogleアカウントが必要です。
trocco®は無料トライアルを実施しているので、事前に申し込みをしておきましょう。
https://trocco.io/lp/inquiry_free.html
1-1. 転送元・転送先を決定
trocco®にアクセスして、ダッシュボードから「転送設定を作成」のボタンを押します。

転送元に「Box」を指定し、転送先に「Google BigQuery」を選択して転送設定作成ボタンを押します。

設定画面になるので、必要な情報を入力していきます。
1-2. Boxとの連携設定
あとで見たときに自分で分かるように転送設定の名前とメモを入力します。

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

別のタブでBoxの接続情報の新規作成画面が開きます。
接続情報を作成するためにJSONファイルを取得する必要があります。

JSONファイルの取得方法は以下の通りです。
https://trocco.zendesk.com/hc/ja/articles/900004862986
- Boxの開発者コンソールにログインし、マイアプリより「アプリの新規作成」を押してください。
- カスタムアプリを作成してください。また、このとき「サーバ認証による認証」を選択してください。
- カスタムアプリ作成後に「構成」タブに移動し「公開キーの追加と管理」より「公開キー」を追加してください。
- 取得したJSONファイルを「カスタムアプリ設定ファイル」に登録してください。
問題がなければ保存します。再度転送設定画面に戻り、接続情報の「接続情報を読み込む」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。

1-3. Boxからのデータ取得設定
次に、取得するデータの指定を行います。
- フォルダーID
- Boxの管理画面より該当のフォルダーに遷移し、URLからフォルダーIDを取得してください。
- パスプレフィックス
- 取得対象のファイル名のパスプレフィックスを指定してください。(現状のバージョンでは第1階層のファイルデータのみ取得可能です)
- 入力ファイル形式
- 入力ファイル形式を指定してください。

1-4. 転送先Google BigQueryの設定
転送元と同様に設定していきます。Google BigQueryに関してはGoogleアカウントとの連携が必要です。(事前に転送先となるデータセットとテーブルを作成しておいてください。)


転送先とするデータセット名、テーブルを設定します。

これで入力は完了です。接続状況を確認し、問題がなければ、「次のステップへ」をクリックし確認作業に進みましょう。
1-5. データのプレビュー
BOXからどのようにデータが取得できるかプレビューで確認することができます。取得したいデータがプレビューに表示されていなければ再度設定画面に戻って転送設定をやり直します。

またここでは転送と同時のデータ加工の設定が出来ます。Google BigQueryの命名規則に合わせてカラム名の変更を行います。Google BigQueryではカラム名に”.”を使うことができないので、sepal.length, sepal.width, petal.length, petal.widthの”.”を”_”に変更します。

カラム名の変更を行ったら「変更をプレビュー」を選択します。

カラム名の変更を確認できたので、設定を完了します。
転送設定の一覧から作成した設定を選び「スケジュール・通知設定」に進みます。
1-6. スケジュール・通知設定
「スケジュール・トリガー設定」タブを開きます。

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

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

これで転送は完了です。
2. Google BigQueryの設定
Google BigQuery側で特に操作することはありません。念の為Google BigQueryのコンソール画面からプレビューを確認すると確かにデータが転送されています。

転送されていることが確認できました。
3. Looker Studio(Googleデータポータル)で可視化
最後にこれらのデータをLooker Studioで可視化していきます。
まずはGoogle BigQueryとLooker Studioの接続設定を行います。
Looker Studioを開いて、新規のレポートを作成します。

「データを追加」のボタンを押し、データ元の選択肢からGoogle BigQueryを選択します。

転送に使用したプロジェクト、データセット、表(テーブル)を選択し、追加します。

データベースに接続できたら、使用可能な項目を利用し、必要な情報を表示させることができます。
今回はそれぞれのデータがどのように分布をしているかを知りたいので散布図を用いることにします。

「グラフ>散布図」を選択した際に、ディメンション、指標X、指標Yを項目から選択する必要があります。
ディメンションは散布図にプロットするデータを選択することができ、指標X、指標Yは散布図においてそれぞれ、横軸、縦軸に該当します。
まず、ディメンションにpetal_length、指標Xにpetal_length、指標Yにpetal_widthを選択します。

同様に指標を入れ変えて五つの散布図を加え、レイアウトを調整して完成です。

まとめ
いかがでしたでしょうか。trocco®を使うと、BoxのデータをノーコーディングでGoogle BigQueryに統合、連携するLooker Studioでデータの可視化を行うことが出来ました。また100万規模の大きなデータからそうではない小さなデータまで複雑なコーディングをせずtroccoの画面上の設定のみで同様にデータの転送が可能になります。
BOXのようなクラウドストレージを利用したデータ分析の際にはご活用ください。
trocco®では、クレジットカード不要のフリープランをご案内しています。ご興味がある方はぜひこの機会に一度お試しください。
