BigQuery googleドライブにあるデータをBigQueryに取り込む

googleドライブにあるデータをBigQueryに取り込む

googleドライブにあるファイルをBigQueryのテーブルとして読み込むことができる。ドライブの内容を変更するとテーブルにもそのまま反映されるのが特徴。

やり方はCSVファイルからテーブルに取り込むのとほぼ同じではあるがヘッダー行がある場合の扱いに違いがある。

データセットを指定してテーブルを作成をクリック

最初に取り込んだデータのテーブルを配置したいデータセットを選択しておき、その後にクエリエディタの下にある「テーブルを作成」をクリックする

ファイルやテーブル名を指定する

テーブルの作成ダイアログが開くので、以下の順番で実行する

  1. テーブルの作成元を「ドライブ」にする
  2. ドライブのURIを選択にgoogleドライブを開いたときに表示されるアドレスを指定する
  3. ファイル形式を「Google スプレッドシート」に変更する
  4. シートの範囲(シートの名前のこと)を指定する。指定しない場合は最初のシートになる
  5. テーブル名を指定する。プロジェクト名やデータセット名はその時選択されているデータセット名が入るがこの時点で変更できる
  6. スキーマの「スキーマと入力パラメータ」にチェックを入れる
  7. 詳細オプションをクリックする
  8. スキップするヘッダー行を指定する。1行目にカラム名が入っていれば1を、他にもあればその行までを指定するとその行まではデータとして無視する。
  9. 「テーブルを作成」をクリックする

正しく行われていれば、5で指定したテーブルが作成される

注意点

ドライブのデータを更新するとその変更がBigQueryのテーブルにも即座に反映される。

マスタの管理がやりやすい一方、誰でも変更できるということはその分事故につながりやすくなる。データがおかしくなった、あるいはエラーで使えなくなったら

  • データが削除された
  • データが変更された
  • 型の違うデータが入力された
  • 変更が反映されないと思ったらシート名が変わっていた

といったことが起こりえるので誰が管理するか明確にしておいた方がいいだろう。

オフィシャルドキュメント

より詳しくはオフィシャルドキュメントを参照のこと。

https://cloud.google.com/bigquery/external-data-drive?hl=ja

SQL TIPS

Posted by shinu