GoogleスプレッドシートをBigQueryの外部データとして利用する|BigQueryの使いかた

お手持ちのデータをGoogleスプレッドシートでデータを管理していて、それをBigQueryで利用するためにCSVに書き出してアップロードしていると、元のデータに更新があるたびにアップロードし直す必要があります。

例えばECサイトの商品マスターデータや飲食店のメニューマスターデータなど、頻繁に更新がある場合は「どの時点のマスターデータがBigQueryにアップロードされているか」の管理が煩雑になったり、そもそもアップロード作業を忘れてしまう可能性もあります。

このようなケースではGoogleスプレッドシートのデータをBigQueryの外部データとしてそのまま利用できるようにするのが便利です。

設定方法

まずGoogle Cloud PlatformのBigQueryプロジェクトを開き、エクスプローラタブの「+追加」をクリックします。

GoogleスプレッドシートをBigQueryの外部データとして利用する|BigQueryの使いかた

どこからBigQueryにデータを追加するか設定する画面が開くので、今回は「Google ドライブ」を選択します。

GoogleスプレッドシートをBigQueryの外部データとして利用する|BigQueryの使いかた

まず追加したいGoogleスプレッドシートがある場所や形式、シート範囲を設定します。

設定項目

  • ソース
    • ドライブ
  • ドライブのURIを選択
    • Google スプレッドシートの場合は、URLのhttps://docs.google.com/spreadsheets/d/〜文字列〜を指定します
  • ファイル形式
    • Google スプレッドシートを選択します
  • シート範囲
    • 追加したいシート名を指定します

GoogleスプレッドシートをBigQueryの外部データとして利用する|BigQueryの使いかた

続いて、送信先(今回、データをインポートする先)を設定します。

設定項目

  • プロジェクト
    • いま開いているプロジェクトが選ばれていると思いますが、もし別のプロジェクトにインポートしたい場合は指定してください
  • データセット
    • 新たに作成する場合は、データセットを作成するポップアップ画面が表示されるので、それに従ってデータセットを作成します
  • テーブル
    • 新たに作成するテーブル名を設定します
  • テーブルタイプ
    • 初めから設定されている「外部テーブル」のままで大丈夫です

GoogleスプレッドシートをBigQueryの外部データとして利用する|BigQueryの使いかた

データセットを新たに作成する場合は、このような画面がポップアップするので、必要事項を入力してデータセットを作成します。 

GoogleスプレッドシートをBigQueryの外部データとして利用する|BigQueryの使いかた

 スキーマは自動検出して指定することもできますが、できれば手動で指定したほうが安全です。

特にもとデータに「数字で表現された顧客ID」「数字で表現された商品ID」などを含む場合、数値として読み込まれてしまう可能性が高く、あとで修正するのが面倒になります。

もしGoogleスプレッドシートの1行目に項目が入力されているようでしたら、1行目のデータをスキップする設定にします(2行目から読み込まれます)。

GoogleスプレッドシートをBigQueryの外部データとして利用する|BigQueryの使いかた

すべて設定できたら「テーブルを作成」をクリックします。

するとこのようにBigQueryのデータセットのなかにテーブルが作成されました。

GoogleスプレッドシートをBigQueryの外部データとして利用する|BigQueryの使いかた

このテーブルはGoogleスプレッドシートを更新すると反映されるので、もうCSVファイルにしてアップロードしたりする必要はありません。データの管理がとてもラクになります。

以上、GoogleスプレッドシートをBigQueryの外部データとして利用する方法の解説でした。

ブログに戻る