BigQueryからapiでjupyter notebookにクエリ結果を送る方法

参考サイト:


  • 手順:
  1. BigQuery Storeage API を「有効にする」
  2. サービスアカウントを作成する
      1. BigQuery Storage APIの「認証情報を作成」をクリック
      2. BigQuery Storage APIの「必要な認証情報」をクリック
      3. サービスアカウント名を決めて入力
      4. ロールを選択(権限を選ぶ)
      5. キーのタイプを選択(json推奨)
      6. 「次へ」クリック
      7. jsonファイルがダウンロードされる
  3. 環境変数をローカルPCに設定する
    2でダウンロードしたjsonファイルをローカルに置き、そのpathを環境変数化する。
    環境変数名は、'GOOGLE_APPLICATION_CREDENTIALS'
  4. notebookで利用するクライアントライブラリをインストールする
    pip install --upgrade google-cloud-bigquery[bqstorage,pandas]
  5. notebookでbigquery用ライブラリを呼び出して、クエリを叩くと、結果がpandas.dataframeに返ってくる。
  6. pythonでsql叩いたり、tableのデータをダウンロードしたい時は、bigquery.Client()インスタンスを生成して行う。


notebookでの実行例)

  • ライブラリ、マジックコマンドの読み込みと環境変数の設定(環境変数もnotebook上で行っている)
  • notebookからのクエリ1)
  • notebookからのクエリ2)

(※ BigQuery上でクエリかけて、結果をテーブルとして保存したものをnotebookに落としたほうが早い。notebook上でクエリかけると時間がかかる・・・)


  • BigQueryにあるtableデータをpd.DataFrameとしてダウンロード

機械学習Tips保管庫

データ解析、機械学習のための学習内容の保管庫。復習用。

0コメント

  • 1000 / 1000