【データパイプライン入門】Google SheetsのデータをBigQueryに連携する方法

PC typing データINPUT

Google Sheets • BigQuery とは

Google Sheetsは Excel のような表計算サービスのことを指します。Excel ファイルをそのまま Google ドライブにアップロードするだけで共同編集ができるようになるなど、様々なメリットがあります。

BigQuery (以下 BQ ) は Google Cloud Platform から提供されるデータウェアハウスサービスです。導入コストも安く、環境構築も必要としないサービスでありながら、高速のデータ処理が可能です。

Google Sheetsは 「Google アカウント」を取得すれば基本的な機能は無料で利用できますが、企業で使用する場合は、より多くの機能が使用可能で、データ容量、セキュリティ面で優れている有料プランへの加入を推奨します。

BQ の料金形態は公式サイトに詳しく書かれています。

背景

Google Sheetsをマスタにして業務を行う場合、BQ 上にデータをインポートすると洗い替えが必要になります。

Google Sheets を BQ 上に外部テーブルとしてアクセスすることで、Google Sheetsのデータを逐一インポートする手間が省けます。

ユースケース

  • Excelでデータを扱っているケース
    • 手入力しているデータ ••• 通常だと手入力のものをDWHに連携するのは難しいが、Google Sheets の BQ 連携なら可能に。
  • Google Sheetsの拡張機能などで別システムからデータを取るケース
    • 例1: JIRA ••• Google Sheets 上で Jira データをリアルタイムで連携利用して、表示、分析、共有、計算が可能になる。
    • 例2: 会計freee ••• 取引や明細を Google Sheets に取り込むことでバックオフィスの業務効率化が可能になる。

設計

学園祭でカフェを開き売上データを Google Sheets で管理しているケースを仮定して行なっていきます。

連携を作ってみる

サンプルデータは以下のような感じです。

まず、Google Sheetsを参照する外部テーブルを BQ 上に作成する必要があります。右端にある3点をクリックしてデータセットを作成してください。データセットを作成したら、同様に3点をクリックしてテーブルを作成してください。

テーブルの作成元は「ドライブ」、 「ファイル形式」はスプレッドシートとしてください。「URI」には

https://docs.google.com/spreadsheets/d/1LsJtuHh_SsD32b_WGkkU32TWT1XdrLwbbZ4a_jZD7SM/edit#gid=0

https://docs.google.com/spreadsheets/d/1LsJtuHh_SsD32b_WGkkU32TWT1XdrLwbbZ4a_jZD7SM

のようにfile_idまでを残して貼り付けてください。

「スキーマ」の「自動検出」チェックボックスをチェックします。ヘッダー行はスキップしたいので、「1」を入力してください。

この手順でテーブルを作成することができるようになります。

まとめ

専門的な技術を使わず幅広いデータを BQ に連携でき、スプレッドシートのデータに対して直接 SQL を実行できるため、データ集計などに便利です。

ただし、Google Sheets 自体の管理が煩雑になってしまうことがあるので注意が必要です。

白井透
白井透

本記事内容をご利用される前にご確認お願いします

  • SinkCapitalギルドメンバーが記載したギルド内部向け記事を一般公開したものです
  • 記載内容の情報鮮度や正確性に問題があった場合も、本記事の内容を利用したことによるあらゆる問題には一切責任を負いかねます
  • 要望や指摘、意見等あれば気軽にコメントいただけると幸いです
  • 弊社にご興味のあるかたは是非弊社HP相談フォームを御覧ください

コメント

タイトルとURLをコピーしました