前回、BigQueryの基本設定が完了しましたので、今回は、実際にBigQueryにデータを入れていく方法をご紹介いたします。
この記事の目次
BigQueryのアカウント構造
BigQueryのアカウント構造は、プロジェクト、データセット、テーブルという階層になっています。
データセットは、複数のテーブルを格納しており、テーブルにはデータを格納することになります。
プロジェクトの作成
では、早速プロジェクトの作成の作成方法を進めていきます。
前回、設定が完了した「BigQuery」のアカウント画面を開いてください。
画面上部にある「プロジェクトの選択」の項目をクリックしてください。
すると、新たなウィンドウが開きますので、ウィンドウの右上にある「新しいプロジェクト」をクリックしてください。
プロジェクト名を決める画面に移行しますので、プロジェクト名を記入してください。
その下に小さくプロジェクトIDを編集できる項目があります。
プロジェクトIDは、後から変更することはできません。
管理画面に表示される名前となりますので、名前にこだわりたい方は編集を押して入力をしてください。
プロジェクト ID に使用できるのは小文字・数字・ハイフンのみで、かつ、先頭は小文字に、末尾は文字または数字にする必要があります。
①の箇所に、今作成したプロジェクト名が表示されます。
②の箇所に、プロジェクトIDで設定した名前が表示されます。
データセットの作成
次に、キャンペーンの下の階層のデータセットの作成を行っていきます。
画面右上にある「データセットを作成」をクリックしてください。
データセット作成のためのウィンドウが開きます。
「データセットID」に、データセットの名前を入力してください。
こちらの名前には、英数字とアンダースコアのみ使用することができます。
「データのロケーション」の項目は、今回は、「デフォルト」で設定しています。
デフォルトは「USマルチリージョン」となっています。
同一プロジェクト内のデータセットのリージョンが異なる場合、相互に参照できないことがあるため統一してください。
「デフォルトテーブルの有効期限」は、今回「無期限」を選択してください。
「テーブル作成後の日数」を選択すると、テーブルの期限を設定することができます。
「暗号化」の項目は、ご自身に最適な項目を選択してください。
今回は「Googleが管理する鍵」を選択します。
すべて入力が完了しましたら、「データセットを作成」をクリックすることでデータセットの作成が完了します。
これで、データセットの作成が完了いたしました。
赤枠のように、ご自身で作成されたデータセットをご確認できましたでしょうか?
テーブルの作成
次は、データセットの下の階層のテーブルの作成を行っていきます。
画面の右上にある「プラスマーク」をクリックしてください。
すると、テーブル作成のウィンドウが開きます。
「ソース」の項目から、アップロードしたいデータの種類を選んでください。
ソースとして選ぶことができるソースの種類は、「空のテーブル」「Google Cloud Storage」「アップロード」「ドライブ」「Google Cloud Bigtable」の5種類があります。
CSVファイルのアップロード
今回は、CSVファイルのアップロードの方法をご紹介します。
アップロードするためのCSVファイルですが、BigQueryのテーブルの項目名(以下、スキーマ)が、英数文字とアンダースコアにしか対応していないため、項目名はローマ字で作成してください。
CSVの文字コードは、「UTF-8」にしてください。
※アップロードの上限は10MBとなっています。
「送信先」は、先程作成した「プロジェクト名」「データセット名」に設定してください。
※「テーブルタイプ」はデフォルト(「ネイティブテーブル」)のままで大丈夫です。
「テーブル名」に、登録したい名前を入力してください。
※テーブル名は、英数字とアンダースコアのみ使用することができます。
「スキーマ」は自分でフィールドを編集することができますが、今回は「自動検出」を選択してください。
「パーティションとクラスタの設定」は「パーティショニングなし」に設定してください。
「テーブルを作成」をクリックしテーブルの作成をしてください。
「プレビュー」でアップロードしたデータの確認を行うことができます。
BigQueryに連携できるデータのご紹介
先程は、CSVデータのアップロードの方法をご紹介しましたが、ほかにも様々なデータをBigQueryに連携することができます。
今回は、「ドライブ(スプレッドシート)」と「Google Cloud Storage」との連携方法をご紹介いたします。
ドライブ(スプレッドシート)
Googleアカウントをお持ちの方なら、スプレッドシートをよく使うことがあるのではないでしょうか?
BigQueryでは、スプレッドシートのデータを取り込むことが可能です。
「ソース」は「ドライブ」に設定してください。
「ドライブのURLを選択」には、スプレッドシートのURLを入力してください。
「ファイル形式」は、「Googleスプレッドシート」を選択してください。
「テーブルを作成」をクリックしテーブルの作成をしてください。
Google Cloud Storage
BigQueryでは、Google Cloud Storageのデータを取り込むことが可能です。
その方法は、下記となります。
「ソース」は「Google Cloud Storage」に設定してください。
「GCSパケットからファイルを選択」の「参照」ボタンをクリックしてください。
読み込みたいファイルを格納している、「Google Cloud Storage」のファイルをクリックしてください。
読み込みたいファイルをクリックしてください。
「GCSパケットからファイルを選択」に、読み込みたいデータのURLが表示されたかと思います。
「ファイル形式」は、自動で設定されます。
「テーブルを作成」をクリックしテーブルの作成をしてください。
スキーマタイプ
先程、テーブルの作成でCSVのアップロードを行った際、BigQueryのテーブルの項目名(スキーマ)は自動検出にしていました。
自動ではなく、手動で入力することも可能です。
その際に、入力するデータの形式「データ型」と「モード」を設定する必要があります。
ここからは、「データ型」と「モード」についてご紹介していきます。
データ型
「データ型」は、テーブルのスキーマにどのような形式のデータが入るのかを指定しています。
データ型 | 名前 | 説明 |
INTEGER | 整数 | 小数部分のない数値 |
BYTES | バイト | 可変長バイナリデータ |
FLOAT | 浮動小数点 | 小数部分のある近似数値 |
NUMERIC | 数値 | 小数部分のある正確な数値 |
STRING | 文字列 | 可変長文字(Unicode)データ |
DATE | 日付 | 論理カレンダー日 |
TIME | 時間 | 特定の日付に依存しない時刻 |
DATETIME | 日付時刻 | 年、月、日、時、分、秒、およびサブ秒 |
TIMESTAMP | タイムスタンプ | マイクロ秒精度の絶対的な時点 |
BOOLEAN | ブール値 | 「true」または「false」(大文字と小文字は区別されない) |
GEOGRAPHY | 地理 | 地表上のポイントセット(測地線エッジを持つ WGS84 基準回転楕円体の点、線、ポリゴンのセット) |
STRUCT | 構造体(レコード) | データ型(必須)とフィールド名(オプション)が記載された順序付きフィールドのコンテナ |
BIGNUMERIC | BigNumeric (プレビュー) | 小数部分のある正確な数値 |
引用元: スキーマの指定
モード
「モード」は、どのようなデータを読み込むのかを指定しています。
モードは省略可能です。
データ型 | モード | 説明 |
NULLABLE | Nullable | 列で NULL 値が許可されます(デフォルト)。 |
REQUIRED | 列で NULL 値が許可されます。 | NULL 値は許可されません。 |
REPEATED | 反復 | 列に指定された型の値の配列が含まれます |
引用元: スキーマの指定
まとめ
今回は、BigQueryにデータを格納するための方法をご紹介いたしました。
みなさんが分析したいデータを、今回ご紹介した方法でデータを取り込んでくださいね。
次回は、BigQueryで分析を行うための基本的なSQLについてご紹介していきます。