お手持ちのデータをGoogleスプレッドシートでデータを管理していて、それをBigQueryで利用するためにCSVに書き出してアップロードしていると、元のデータに更新があるたびにアップロードし直す必要があります。
例えばECサイトの商品マスターデータや飲食店のメニューマスターデータなど、頻繁に更新がある場合は「どの時点のマスターデータがBigQueryにアップロードされているか」の管理が煩雑になったり、そもそもアップロード作業を忘れてしまう可能性もあります。
このようなケースではGoogleスプレッドシートのデータをBigQueryの外部データとしてそのまま利用できるようにするのが便利です。
設定方法
まずGoogle Cloud PlatformのBigQueryプロジェクトを開き、エクスプローラタブの「+追加」をクリックします。
どこからBigQueryにデータを追加するか設定する画面が開くので、今回は「Google ドライブ」を選択します。
まず追加したいGoogleスプレッドシートがある場所や形式、シート範囲を設定します。
設定項目
- ソース
- ドライブ
- ドライブのURIを選択
- Google スプレッドシートの場合は、URLのhttps://docs.google.com/spreadsheets/d/〜文字列〜を指定します
- ファイル形式
- Google スプレッドシートを選択します
- シート範囲
- 追加したいシート名を指定します
続いて、送信先(今回、データをインポートする先)を設定します。
設定項目
- プロジェクト
- いま開いているプロジェクトが選ばれていると思いますが、もし別のプロジェクトにインポートしたい場合は指定してください
- データセット
- 新たに作成する場合は、データセットを作成するポップアップ画面が表示されるので、それに従ってデータセットを作成します
- テーブル
- 新たに作成するテーブル名を設定します
- テーブルタイプ
- 初めから設定されている「外部テーブル」のままで大丈夫です
データセットを新たに作成する場合は、このような画面がポップアップするので、必要事項を入力してデータセットを作成します。
スキーマは自動検出して指定することもできますが、できれば手動で指定したほうが安全です。
特にもとデータに「数字で表現された顧客ID」「数字で表現された商品ID」などを含む場合、数値として読み込まれてしまう可能性が高く、あとで修正するのが面倒になります。
もしGoogleスプレッドシートの1行目に項目が入力されているようでしたら、1行目のデータをスキップする設定にします(2行目から読み込まれます)。
すべて設定できたら「テーブルを作成」をクリックします。
するとこのようにBigQueryのデータセットのなかにテーブルが作成されました。
このテーブルはGoogleスプレッドシートを更新すると反映されるので、もうCSVファイルにしてアップロードしたりする必要はありません。データの管理がとてもラクになります。
以上、GoogleスプレッドシートをBigQueryの外部データとして利用する方法の解説でした。