Google BigQuery WebUIクイックスタート


まずはWebUIクイックスタートのマニュアルのとおり進めて、実際に利用してみる。
https://cloud.google.com/bigquery/web-ui-quickstart

検索の実行やデータのロード、データのエクスポートする際に、可視化インタフェースとしてWebUIを使用することができる。
このクイックスタートではパブリックデータに対する問い合わせと、サンプルデータをBQへ登録する方法について示す。

#1.準備
データをロードするのにコストがかかるので、ビリングの設定をしておく必要がある。

#2.パブリックなデータセットを検索
BigQuery web UIはテーブルに問い合わせするためのインタフェースを提供する。

COMPOSE QUERYをクリック。
![スクリーンショット 2015-12-08 15.10.57.png](https://qiita-image-store.s3.amazonaws.com/0/95399/c39bc33b-01ce-0181-53fe-790b904c6426.png)

次のクエリをテキストエリアに入力する。

```
SELECT
  weight_pounds, state, year, gestation_weeks
FROM
  publicdata:samples.natality
ORDER BY weight_pounds DESC LIMIT 10;
```

![スクリーンショット 2015-12-08 15.13.46.png](https://qiita-image-store.s3.amazonaws.com/0/95399/938d7de8-f894-2d53-1207-b98694a92715.png)

クエリが妥当かどうかは緑か赤で判断できる。妥当であれば、1回のクエリで処理されるデータ容量が表示される。これは実行するとどれくらいのコストが発生するか分かるので役に立つ。
![スクリーンショット 2015-12-08 15.15.41.png](https://qiita-image-store.s3.amazonaws.com/0/95399/d089233b-4b00-533a-83a7-16886387f6dd.png)

RUN QUERYボタンをクリックすると、クエリの結果は下に表示される。 
![スクリーンショット 2015-12-08 15.17.02.png](https://qiita-image-store.s3.amazonaws.com/0/95399/295d8faf-42ad-92f6-c228-c460c3cee269.png)

上記のクエリはパブリックデータセットのテーブル(publicdata:samples.natality:)にアクセスしている。
publicdataはプロジェクト名、samplesはデータセット名、natalityはテーブル名。

何個のデータを扱ってたのか確認してみる。約1億3700万のデータに対してクエリをかけていた。
![スクリーンショット 2015-12-08 15.20.20.png](https://qiita-image-store.s3.amazonaws.com/0/95399/b9d82235-84ee-82f9-4da5-04ebb9ffdeb4.png)

#3.データをロードしテーブルに格納
カスタムデータをテーブルにロードし、クエリをかける。

##3.1.データのダウンロード
US Social Security Administrationが提供しているzipファイルをダウンロード。

##3.2.データセットの作成
プロジェクト名の横にある下向きの矢印をクリックし、Create new datasetをクリックする。
![スクリーンショット 2015-12-08 16.26.14.png](https://qiita-image-store.s3.amazonaws.com/0/95399/716d3a4c-656a-fb6d-0c1d-0159dd3999e2.png)

dataset IDを入力
Dataset IDはプロジェクト毎にユニークである必要がある。
![スクリーンショット 2015-12-08 16.29.18.png](https://qiita-image-store.s3.amazonaws.com/0/95399/5a659a1a-2b7d-4e68-4779-c9553875d832.png)

#3.4.データをロードし、新しいテーブルに格納
新しいテーブルにデータを入れる。
下向き矢印をクリックし、 Create new tableをクリックする。
![スクリーンショット 2015-12-08 16.32.59.png](https://qiita-image-store.s3.amazonaws.com/0/95399/8e950f80-3ba5-c33e-9684-e0318483e81f.png)


table IDを入力。
![スクリーンショット 2015-12-08 18.12.41.png](https://qiita-image-store.s3.amazonaws.com/0/95399/44c05454-f6b0-fc87-de93-306e1eba4664.png)


Click the Choose fileボタンをクリックし、yob2014.txtファイルを選択。
![スクリーンショット 2015-12-08 18.14.16.png](https://qiita-image-store.s3.amazonaws.com/0/95399/aa9602b7-ae63-787a-46a2-9a47418eea52.png)


Click Edit as textをクリックし、以下の文字を入力する。
name:string,gender:string,count:integer
![スクリーンショット 2015-12-08 18.15.39.png](https://qiita-image-store.s3.amazonaws.com/0/95399/5b666c96-4afd-70ab-8741-c83b32ae6921.png)

Submitボタンをクリック
![スクリーンショット 2015-12-08 18.16.30.png](https://qiita-image-store.s3.amazonaws.com/0/95399/7be16ca4-711e-a52b-58e5-cf13950442e5.png)

上記のステップで、BigQueryはテーブルを作成し、そこにデータをロードすることができた。

しばらく（1分程度）するとテーブルが作成されていることを確認できる。
![スクリーンショット 2015-12-08 18.19.52.png](https://qiita-image-store.s3.amazonaws.com/0/95399/1547d614-1ee8-7d6a-778f-24ed8617fd5c.png)

##3.5.テーブルを検索
カスタムデータをテーブルに入れたので、パブリックデータを処理した時と同様に、クエリをかけることができる。

COMPOSE QUERYボタンをクリック
次のクエリをテキストエリアに記載。 datasetIdとtableIdはさっき作った自分のものを指定する。 

```
SELECT
  name, count
FROM
  datasetId.tableId
WHERE
  gender = 'M'
ORDER BY count DESC LIMIT 5;
```

![スクリーンショット 2015-12-08 18.22.35.png](https://qiita-image-store.s3.amazonaws.com/0/95399/5495fa27-9ee9-1f2e-d7b3-810aaac5762c.png)