ie_test
2018年7月22日日曜日
GCP (google cloud platform)を使うまで
# 概要 GCP を使うことになったのでコマンドの導入などをメモ。 環境は mac によって行った。 # google cloud sdk のインストール gcloud、gsutil、bq コマンドを使えるようにするために google cloud sdk をインストールする. 以下のリンクから google-cloud-sdk-180.0.0-darwin-x86_64.tar.gz をダウンロードして解凍する。 https://cloud.google.com/sdk/?hl=ja $./google-cloud-sdk/install.sh としても python が 2.7 でないとインストールエラーとなる。 なので anaconda ならば以下のようなコマンドを打って、python2.7 の環境を作る。 $conda create -n py27 python=2.7 anaconda python2.7 環境で実行したい場合には以下のようにコマンドをうつ。 $source activate py27 するとプロンプトが以下のような感じになる。 (py27) bash-3.2$ これで $./google-cloud-sdk/install.sh でインストール可能となる。 インストールが済めば別に python2.7 でなくても良いので上記の環境を抜けて良い。 そのあと、どう使うかよくわからなかったが、要は PATH が通って入れば良いので ~/.bashrc に export PATH=$PATH:/Users/watashi/Desktop/GCP/google-cloud-sdk/bin といった記述を追加して( watashi はmac 上のユーザー名。) google-cloud-sdk/bin にパスを通す. パスが通っているかは $which bq などとして確認すること。 # アカウントの設定 GCP を使うにはクラウドにログインするアカウントを設定する必要がある。 以下のようにメアドでアカウントを設定. $gcloud config set account [メールアドレス] 以下のコマンドを打つと、ブラウザが開き、認証設定をするためのページになるので「許可する」とかをクリックしていけば ok. $gcloud auth login # アカウント設定完了の確認 以下を打つとテーブルの情報が見れる。 $bq show プロジェクト名:テーブル名 # python からのアクセス - 以下でまずはライブラリをインストール。 $pip install pandas-gbq - 以下をブラウザで開く。 https://console.developers.google.com/apis/dashboard 「ライブラリ」のところから辿っていき「BigQuery API」をクリックする(結構下の方にある)。 「BigQuery API」の画面になるので「有効にする」をクリックすればよし。 - 次に以下をブラウザで開く。 https://console.cloud.google.com/home/dashboard 「IAMと管理」のメニューから「サービスアカウント」を選択. 「キーを作成」で「json」を選ぶ。 するとキーが生成され、その情報が「392t2taastw0.json」といったファイルとしてダウンロードされる。 このファイルのあるディレクトリにおいて以下のコードを実行すれば普通の pandas のように実行できる。 ``` import pandas query = 'SELECT * FROM [プロジェクト名:テーブル名.ファイル名]' project_id = 'プロジェクト名' private_key = '上記で取得した jsonファイル名' data_frame = pandas.read_gbq(query, project_id=project_id, private_key=private_key) print(data_frame) ``` private_key のところはフルパスを設定してもいけるので jupyter notebook からの実行のようにカレントがわかりずらい場合にはそうした方が良いかもしれない。 # 料金 以下を見てみると「クエリ: $5/TB (スキャンしたデータのサイズで課金)」とある。 https://qiita.com/kaiinui/items/3ae3a335a2826fc7070a 返すデータのサイズではない。カラム指向なので select * とはせずに返す列を指定した方が良いとのこと。 https://www.slideshare.net/dragan10/20150520-gcpug-osaka-big-query またインデックスは基本的に考えなくて良いらしい。 # 注意 bq コマンドでファイルをアップする際には各カラムの型について予測していい感じで登録してくれる。 ただし、 20170912 のような日付の数値も integer となるのでそこは各自良い感じで対応すること。
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿