1
/
5

BigQueryのテーブルの外部データとしてスプレッドシートを使う【株式会社ライトコード】

はじめに

新田

こんにちは。
今回はBigQueryのテーブルの外部データとしてスプレッドシートを利用する方法をまとめたいと思います。
特にマスタ系のデータを扱うような場合はデータの更新が面倒ですが、この方法を使うことで更新が楽になりました。

外部データとするスプレッドシート

今回は例としてこのようなスプレッドシートを作成しました。


競馬の種牡馬のマスタデータのようなデータです。
stallion_nameは種牡馬の名前、bloodlineはその馬の血統の系統を表していて、country_typeは国タイプを表します。
毎年新たな種牡馬がデビューするのでその度に更新しなくてはなりません。

BigQueryのテーブル作成

さて、BigQueryにテーブルを作成しましょう。
テーブルを追加したいデータセットの三点リーダをクリック、「テーブルを作成」をクリックします。するとフォームが出てくるので入力していきます。

テーブルの作成元はドライブ、ドライブのURIはスプレッドシートのURL、ファイル形式はGoogleスプレッドシート。
シート範囲はシート名を入力するようにするといいです。
あとは大体csvから作成する場合と同じですね。
データセット名、テーブル名を入力、テーブルタイプは外部テーブルでOKです。
スキーマは、自動検出してもいいですが、手動で入力してREQUIREDなどの属性も指定してあげるのがおすすめです。
最後に、詳細オプションでスキップするヘッダー行を1に指定します。これはスプレッドシートでスキップするヘッダー行のことです。
全て入力できたら、テーブルを作成 のボタンを押します。
また、(1ブックではなく、)1シートにつき1テーブルを指定することができます。つまり1ブックで複数のマスタを定義したシートを管理できます。シート範囲に新しく作ったシート名を指定して同じようにするとよいです。

クエリを実行する

作成したテーブルに対してクエリを実行してみましょう。

スプレッドシートの内容をクエリで取得することができました!

記事の続きはクリック!

https://rightcode.co.jp/blogs/46455

エンジニア積極採用中です!

現在、WEBエンジニア、モバイルエンジニア、デザイナー、営業などを積極採用中です!

採用ページはこちら:https://rightcode.co.jp/recruit

社員の声や社風などを知りたい方はこちら:https://rightcode.co.jp/blogs?category=life

社長と一杯飲みながらお話しませんか?(転職者向け)

特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk

もっとワクワクしたいあなたへ

現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「営業」などを積極採用中です!

ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。

有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。

  • もっと大きなことに挑戦したい!
  • エンジニアとしてもっと成長したい!
  • モダンな技術に触れたい!

現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?

ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。

  • ライトコードの魅力を知っていただきたい!
  • 社風や文化なども知っていただきたい!
  • 技術に対して熱意のある方に入社していただきたい!

一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。

【コーポレートサイト】https://rightcode.co.jp/

【採用募集】https://rightcode.co.jp/recruit(こちらからの応募がスムーズ)

【wantedlyぺージ】https://www.wantedly.com/companies/rightcode

株式会社ライトコード's job postings

Weekly ranking

Show other rankings
Like Hiroyuki Choshi's Story
Let Hiroyuki Choshi's company know you're interested in their content