えいのうにっき

a-knowの日記です

【非エンジニア向け】BigQuery を使ってみよう

なにこれ

大規模データに対しての解析が超カジュアルに行えちゃう!と話題の、BigQuery 。

その BigQuery で、非エンジニアの方にも遊んでみて欲しい(なぜなら BigQuery はおもしろいから)ので、その利用のための手順を書いてみたもの。

もともとは社内向けに、Qiita:team に投稿するつもりで書いた・実際 Qiita:team にも投稿したんだけど、せっかく書いたし、ということで、少しだけアレンジして自分のブログにも持ってきてみた。

BigQuery を使ってみよう

1. Google Cloud Platform のサイトを開く

こちら( https://cloud.google.com/ ) です。

BigQuery は、Googleクラウドサービス全般を意味する Google Cloud Platform (以下 GCP )のなかの一つのサービスなので、このサイトに行く必要があります。

2. 無料体験版 ボタンを押す

f:id:a-know:20150314083119p:plain

押します。

3. ログインする

f:id:a-know:20150314083139p:plain

お持ちの Google アカウントでログインして下さい。

4. アカウント情報を入力する

下記のような画面になるので、必要な情報を入力していってください。

f:id:a-know:20150314083211p:plain

ひとつ、申し訳ないのが、カード情報の入力が必要になる、ということ。 ただ、この画面にも書いてあるとおり、カード情報はあくまで本人確認に使用されるだけで、無料体験で料金を請求されることはありません。m(_ _)m

私も、この記事を書くためにさらにまたひとつカードを登録してしまいました!

必要な情報を入力したら、一番下の 同意して無料体験を開始 ボタンを押します。

f:id:a-know:20150314083240p:plain

5. BigQuery 管理画面まで移動する

しばらく待つと、下のような画面に遷移すると思います。

f:id:a-know:20150314083256p:plain

早速ここから、BigQuery の管理画面を開いてみましょう。

左サイドメニューの ビッグデータ をクリックし...

f:id:a-know:20150314083311p:plain

出てきた BigQuery メニューをクリックします。

f:id:a-know:20150314083326p:plain

これだけで、下のような画面が表示されると思います。

これが BigQuery の管理画面(Webコンソール)です。

f:id:a-know:20150314083344p:plain

6. 使ってみよう

それでは早速、簡単な解析をしてみましょう。いくつかのサンプルデータのなかに、Wikipedia のデータがあります。 この Wikipedia のデータは、「手軽に BigQuery の試用ができるように」と、Google が予め用意してくれているものです。

左サイドメニューの publicdata:samples をクリックします。

f:id:a-know:20150314083456p:plain

そしてでてきた wikipedia というリンクっぽいものをクリックしてみます。

f:id:a-know:20150314083509p:plain

すると、下のような画面に変化すると思います。

f:id:a-know:20150314083527p:plain

これで これから wikipedia のデータに対して解析を行う! と宣言したのと同じなのですが、そのまま簡単な解析も行ってみましょう。

BigQuery に蓄えられたデータに対して様々な解析を行うには、 SQL という独特な文法に則って、BigQuery に対する命令文を書き、実行してやる必要があります((厳密には、 SQLBigQuery に対して実行できるクエリ は全くのイコールではありません。だいたい同じ、という感じです。))( SQL を書いて実行することを クエリを投げる なんて言い方をすることもあります)。

画面右上の Query Table というボタンを押します。

f:id:a-know:20150314083552p:plain

するとまた、画面が下のようなものに変化します。

f:id:a-know:20150314083609p:plain

画面上部・大きなテキストエリアが、 SQL を書くところです。 既に SELECT FROM [publicdata:samples.wikipedia] LIMIT 1000 と表示されていますね。試しにこれを、 SELECT * FROM [publicdata:samples.wikipedia] LIMIT 1000 と変えてみましょう( SELECT のうしろに半角アスタリスクを追加するだけ!)。

テキストエリアのものを直接、編集して大丈夫です。

それができたら、 RUN QUERY という赤いボタンを押してみましょう。すると...?

f:id:a-know:20150314083625p:plain

下のような画面になったかと思います!

f:id:a-know:20150314083641p:plain

これはつまり、 BigQuery に対して SELECT * FROM [publicdata:samples.wikipedia] LIMIT 1000 という命令文を実行した結果が表示された、ということになります。 今回実行した命令文について簡単に説明すると、

  • SELECT
    • 選択する という命令。今回 * を指定しましたが、この場合は 全部の項目を選択する 、となります。
    • 例えば title だけが必要なら、 SELECT title FROM 〜 となります。
  • FROM
    • どこから情報を選択するか?ということを、これで示します。
    • 今回は publicdata:samples の wikipedia データ からなので、 [publicdata:samples.wikipedia] となります。
  • LIMIT 1000
    • ブラウザ上では、表示できる情報に限りがあります。
    • このように書くと、 上限1000件まで と指定したことになります。

それでは今度は、 SELECT COUNT(*) FROM [publicdata:samples.wikipedia] と書いて、実行してみて下さい。

f:id:a-know:20150314083658p:plain

下のような結果が返ってきたと思います。

f:id:a-know:20150314083716p:plain

今投げた命令文 COUNT は、実行した結果の数(行数)を数えて表示する となります。 LIMIT 1000 を外して実行したので、BigQuery に登録されている wikipedia のデータの件数が表示されている、ということになります(3億件!)。

今度は SELECT * FROM [publicdata:samples.wikipedia] WHERE title LIKE '%feed%' という命令文を実行してみましょう。

f:id:a-know:20150314083730p:plain

LIKE というのは、文字通り 〜のような という意味になります。

'%feed% というのは、 なんでもいい、何かの文字に "feed" というキーワードが挟まれた 、という条件になります。

WHERE は、条件を表します。つまり、 WHERE title LIKE '%feed%' は、 title が '○○feed○○' であるもの 、という条件を表すことになります。

表示された結果を見てみてください、そのようになっているかと思います。

f:id:a-know:20150314083745p:plain

(3億件ものデータに対して、これくらいのスピード感で解析ができてしまうのは、技術的にはとてもインパクトがあることだったりします...!)

どうでしたか?

BigQuery の導入編としては、こんなかんじです!どうでしたでしょうか?

もっと色々な解析をしてみたい!と思われたアナタ、 SQL を解説してあるような下記のようなサイトや本を参考に、いろんな命令文を BigQuery に対して実行してみてください☆(ゝω・)vキャピ

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)