コンテンツにスキップ

BigQuery

GCEのインスタンスからGCSまたはBigQueryにデータを送る方法

この投稿は

GCPのドキュメントをよく探ればちゃんと書いてあるけどすぐに見つけられないときのための備忘録。

to GCS

ライブラリのインストール

インスタンスの状態によって諸々違うでしょうが自分がやった手順のメモ。

Python 使う前提。

sudo apt-get install -y python3-pip
sudo pip3 install --upgrade google-cloud-storage

cf: https://cloud.google.com/storage/docs/reference/libraries

サンプルコードをパクる

ここ を見れば良いだけ。

Python ならそのまま使えるコードがここにある。

destication_blob_name には bucket 名以下の path(に見えるもの)を指定すれば良い。

to BigQuery

ライブラリのインストール

sudo pip3 install google-cloud-bigquery

※ちなみにこのライブラリのインストール完了まで結構時間がかかる。 grpcio のライブラリのビルドに時間がかかるようなのでこれだけ別途落としてくると時間短縮できそうだが1時間もかからないので放置でもOK。

サンプルコードをパクる

Python でそのまま使えるサンプルコードはここ

アップロードもとのファイル形式を変えたり job config いじるときは公式のドキュメントを見る。

JSON ファイルからアップロードしたい場合は

job_config = bigquery.LoadJobConfig(
    source_format=bigquery.SourceFormat.NEWLINE_DELIMITED_JSON, autodetect=True,
)

とかしておけば良い。

参照

to GCS

to BigQuery