For Want Of A Better Word

【Google】BigQuery 使い方メモ

   

■Google Big query 使い方メモ

【参考】http://www.buildinsider.net/web/bigquery/01

 

【特徴】

・MapReduceは「巨大なデータを安定的に処理するプログラミングモデル」

・BigQueryは特定の目的のために、トライ&エラーを繰り返しながら、SQLクエリを発行するサービス。

 

【注意点】

・基本は有料サービス

・1Gbytesのデータ保持で1月単価で$0.02

・クエリは1TBに対し5$。

・10万行のStreaming Insertで$0.01

※Stream Insert→ちょっと便利な登録方法らしい。

 

 

とりあえず1回使ってみる。

 

①クラウドコンソールにアクセス

https://console.developers.google.com/

 

②プロジェクトの作成

BigQueryTest

 

③左ナビ>ビッグデータ>BigQuery

 

④左下の「publicdata:samples」をクリック。適当なテーブルを選んで、

⑤queryを実行してみる。

Query>Run Query

 

 

 

自分でデータを登録してクエリーを発行する,,前に

先に請求先登録・課金許可が必要。

じゃないと①を全部やった後に、こんなエラーが出る。

“” Billing has not been enabled for this project. “”

登録手順は下記。

重要:プロジェクトホームにいって

・右上歯車マーク→ 請求先アカウント でカードを登録

・右上歯車マーク→ プロジェクト課金設定 で 請求を有効にする

OK

※2015/09/24現在 $300の無料枠 60日間 やった。

 

実際に登録

①左ナビ>プロジェクト名横の▼>Create Dataset

 

 

●Queryのスキーマ定義はGUIで作ったあと、テキスト表示も可能。

これコピーしておけば、コピペでスキーマ登録可能っと。

member:STRING,visit:INTEGER,page_view:INTEGER,date:TIMESTAMP,ip_addr:STRING,site:STRING,page:STRING,referring_site:STRING,referring_page:STRING,referring_query:STRING,user_agent:STRING,os:STRING,app_key:STRING

 

最後まで言って、ヘッダ行数とかも指定できて、まー親切ですね。

 

作ったテーブルにレコードを追加する。

 

追加、insertという項目がないのであせるが、JOB履歴からさっきのJOBを再度選択して、アップロードファイルだけ変更してあげればOK。

 

気になったポイント

・yyyy-mm-dd hh:mi:ss 形式のデータは timstampで取り込み可能

・UTF-8のマルチバイトが化ける。カンマと合わせって区切り位置がずれる場合があるので、日本語は使い難い?たまたまかも。

・レコード単位での削除が出来ない?…

http://qiita.com/satoru_mag/items/be8ebf381ae3700a02f6

“更新、削除が出来ない”とのこと

 

・CSVから特定の列までインポートすることが出来るか?

⇒無理。全列が対象となるので、元データ→登録用データ→BigQueryとする必要がある。

・同じデータ・ファイルを何度でも登録できてしまうため、誤ったデータ登録の危険が高い。データ登録はプログラムを噛ませ、自動チェック、自動実施が前提と思われる。

 

クエリーサンプル

※Queryのリファレンス

https://cloud.google.com/bigquery/query-reference

 

・SELECT count(*) FROM [データセット.テーブル]  WHERE  [date] > ‘2015-09-16 00:00′;

 

 

宿題・確認したいポイント

・データのバックアップ方法(特に定期バックアップ)

・定期的に自動でデータを取り込む方法

 

 - 開発全般

  関連記事

centos_logo
build(ビルド)とdeploy(デプロイ)の意味・違い整理

http://www.m-bsys.com/keyword/compile-bu …

mysql-logo
プログラミングPHP 第8章( DB )ポイント

PHPによるDBへのアクセス 方法は2通り ①データベース固有の拡張モジュールを …

android-logo
Android FormWidget 軽く触ってみた。

http://www.techdoctranslator.com/resourc …

php-logo
プログラミングPHP 第11章(XML)ポイント

XML概要 処理命令 は必須。 整形式のXMLの条件として、ファイルの最上位レベ …

js-logo
node.jsって

参考になるサイト http://bizria.jp/technical/node …