Google BigQuery – bq command編

こんにちは、三回連続でSSTDの大村です。前回までウェブインターフェースであるBigQuery BrowserからBigQueryを操作していましたが、コマンドラインから操作するためのbq Command-line Toolも用意されています。このbqはpythonベースのツールになっています。今回はbqの設定をし、簡単なコマンドの入力までを紹介します。

ローカル環境

  • OS:Windows8 Pro 64bit
  • CPU:Intel Core i7 2.00GHz
  • RAM:8GB

インストール

Linuxなどの環境ではできる方が多いと思いますので、今回はWindows環境での設定方法を紹介します。今回はgoogle-bigquery-tools/README.txtを参照しました。

必要条件

  • python 2.6.5かそれ以上
  • Linux, Windows, OS Xの環境

pythonインストール

まずはインストーラーをダウンロードします。
下記のURLの「Python 2.7.5 Windows X86-64 Installer (Windows AMD64 / Intel 64 / X86-64 binary [1] — does not include source)」をダウンロードしました。

https://www.python.org/download/

python3.X.X台ですと弊社環境で動作しませんでしたので、今回はPython 2.7.5を利用しています。ダウンロードが完了したら、実行し、「C:\Python27」にPython環境をインストールします。

easy_installインストール

次にpythonのRubyのgemにあたるeasy_installをインストールします。下記のURLのファイルをローカルにダウンロードし、「C:\Python27」直下に配置します。

ez_setup.py

コマンドプロンプトを起動し、「C:\Python27」に移動し、ez_setup.pyを実行します。

>cd C:\Python27
>python ez_install.py

bqインストール

次に「C:\Python27\Scripts」に移動し、bqをインストールします。下記のコマンドを打って、しばらく待っているとインストールが終了します。ネットワーク状況によると思いますが10分くらいはかかるので待っていて下さい。

>cd C:\Python2\Scripts
>easy_install bigquery

PATHの登録

毎回、pythonフォルダに移動するのもめんどくさいのでPATHにpythonフォルダの位置を登録します。PATHに「C:\Python27」と「C:\Python27\Script」を登録します。

確認

コマンドプロンプトでコマンドが実行できるか確認してみます。

>bq help

これで利用できるコマンド一覧が表示されればインストール成功です。

bq commandを利用してみよう

承認

まずはじめに自分のアカウントを利用するために初期化する必要があります。

>bq init

WS0017

URLが表示されますので、コピーしてブラウザでアクセスしてください。アクセスすると表示されるコードをコマンドプロンプトの「Enter verification code:」の横に貼り付け、Enterします。成功すると現在のProjetの一覧が表示されます。

WS0018

WS0019

WS0021

 

基本的なコマンド

基本的なコマンドを紹介します。

データセットの一覧を表示します。後ろにデータセット名を指定すると指定したデータセット内のテーブル一覧を表示します。

>bq ls

次にqueryを投げてみましょう。前回UPしていたデータがあると思いますのでそれを利用します。

>bq query “select * from testdataset.testtable”

こんな感じで表示されます。

WS0370

最後にテーブルを作成し、データをインポートしてみます。前回CSV形式でアップロードしたので、今回は下記のようなjson形式のデータをアップロードします。

実行コマンドは以下のとおりです。

>bq mk testdataset.jsontbl
>bq ls testdataset
>bq load –source_format NEWLINE_DELIMITED_JSON testdataset.jsontbl ./test.json id:integer,name:string,time:timestamp
>bq query “select * from testdataset.jsontbl”

WS0372

コマンドを利用することで処理の自動化などができるようになり、大変便利に利用できそうです。BigQueryの特集は今回で最後ですが、機会があれば速度検証結果やREST_APIの紹介もしていきたいと思います。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です