BigQuery読書会#1資料

Preview:

DESCRIPTION

http://bigquery-analytics-reading.connpass.com/event/7700/

Citation preview

Google BigQuery Analytics 読書会#1

2014/08/13(Wed)tagomoris

BigQueryと俺2014/08/13(Wed)

tagomoris

appengine ja hackathon #6 in 2010/07/31

kazunori -san says: 「BQまじすごい」

ペーパーを眺めてあーだこーだ言う

with @ashigeru 先生

COUNT(DISTINCT val) 問題

http://d.hatena.ne.jp/kazunori_279/20100527/1274950030

そして時は流れ

someday in Dec 2013

tagomoris:「なんか面白趣味プロダクトのネタないかな」

kazunori:「Fluentd BigQueryプラグインほしい!」

tagomoris:「ガタッ!」

fluent-plugin-bigquery爆誕

当初streaming insertのAPI制限がきつかった

buffer pluginも書いてカリカリチューン

fluent-plugin-buffer-lightening

今となってはだいぶ緩い

fluent-plugin-bigqueryメンテナ募集中!

閑話休題

Using the Command-Line Client

CLIも使えるよ

Pythonで書かれてるよ

コードが読めるのでBigQuery APIの使いかたを学ぶのにもちょうべんり

Install and Setup (1)

Pythonは予め入れておけ、2.7だぞ

BigQuery clientのコードはGoogle codeにある

Google Cloud SDKにBigQuery clientも入ってるのでインストールはそっちから

本のAppEngineコードも試したければ言語にあわせたAppEngine SDKも入れよう

Install and Setup (2)

入れたらとりあえずGoogleアカウント認証

gcloud auth login

ブラウザでOAuth認証

実行端末に認証情報が保存される

project id の入力

Install and Setup (3)

権限は好きなときにrevokeできるよ

Webブラウザで

PC単位でなら: gcloud auth revoke

プロジェクト単位なら: gcloud config set

project <project_id>

複数project持ってるならデフォルトを選ぶこと

ここで一句

“gcloud components update” まじうざい

Using the Client (1)

bq と打てば何ができるかわかる、超べんり

bq [global flags] <command> [command flags] [command argument]

bq --help と打てばオプションリストが出る、超べんり

bq help <command> でヘルプが出る、最高

Using the Client (2)

bq ls コマンドで何があるかわかる、べんり

project id list: bq ls -p

datasets list: bq ls

tables list: bq ls <dataset_name>

recent job list: bq ls -j

--format で整形できる、まじべんり

Using the Client (3)

CLIだとprojectの違うアクセス設定されているdatasetとかが表示できない

でも名前がわかってれば中身は見られる

bq ls publicdata:samples

この本の後のほうで残りのコマンドも試すよ

Service Account Access (1)

Google個人アカウントじゃなくてService

Accountというやつも使えるよ

private keyだけで認証できる、べんり

サンプルコードとか自分で書いたコードを実行するときにとくにべんり

Service Account Access (2)

$HOME/.bigqueryrc にGoogleアカウント設定がある(ある?)

このファイルはCLI global flagsのリスト

CLIでの指定は設定ファイルのを上書きする

Service Account Access (3)

Service Account設定は別ファイルに作る

<service-account-id>@developer.gserviceaccount.com

$HOME/.bigquery.<service-account-id>

service_account = <service-account-id>@...service_account_credential_file = TOKEN_PATHservice_account_private_key_file = PKEY_PATH

project_id = PROJECT_ID

Service Account Access (4)

この章のダウンロードコンテンツ:

設定ファイル作成用便利スクリプト

(以下省略、はいはい便利便利)

python-setuptools / pip を忘れるな!

Service Account Access (5)

bq --bigqueryrc=$HOME/.bigqueryrc.foo ls

なんか言われたら easy_install pyOpenSSl

It’s not typo

system pythonに入れられなかったら

PYTHONPATH

export $BIGQUERYRC=PATH もちょうべんり

おしまい

Recommended