2017-09-21 12 views
0

pandasデータフレームに読み込む前にbigqueryからクエリサイズの見積もりを取得します。 read_gbq機能でdryRunパラメータを使用するにはどうすればよいですか?pandas.read_gbq関数にdryRunパラメータを送信するにはどうすればいいですか

+0

' '** kwargs'のために? –

+0

@ElliottBrossard 'DF = gbq.read_gbq(クエリ、PRIVATE_KEY = CRED、PROJECT_ID =プロジェクト、方言= '標準'、kwargsから= { 'DRYRUN':真})を実行 ' DFがデータを有しています。 – Gluz

+0

何gbq.read_gbq(クエリ、PRIVATE_KEY = CRED、PROJECT_ID =プロジェクト、方言= '標準'、 'DRYRUN':真) ''についてあなたは意味と仮定 –

答えて

1

私が言う限り、そうすることはできません。

パンダの仕組みを確認すると、ジョブの設定がqueryに更新されることがわかります。

dryRunは、クエリ定義の外にあり、実際には同じレベルにあります。

なぜこれがうまくいくのかわかりません(おそらく、pandas-gbqの作成者は、BQで実行できるすべてのタイプのジョブの直接の置き換えではないでしょう)。それでも、私は自分のリポジトリにこのissueを開始しました。あなたはこれを入力してこの入力を確認することができます。

回避策として、一般的なGCPとの対話にPython APIを使用することをおすすめします。具体的には、BigQueryクライアントを使用することができます。

pip install --upgrade google-cloud-bigquery 

をそして、あなたは実行できます:それは非常に簡単なはずのインストールあなたが `{ 'DRYRUN':真}を渡した場合はどうなり

from google.cloud.bigquery import Client 
import os 
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path/to/your/key.json' 

query = """your query""" 
bc = Client() 

job = client.run_sync_query(query) 
job.use_legacy_sql = False 
job.dryRun = True 

job.run() 

print(job.total_bytes_processed) 
+0

感謝@ willian-fuks! – Gluz

関連する問題