2017-11-27 1 views
0

Ich habe eine mehr oder weniger einfache Gsheets-UI für die Verwaltung erstellt, um bestimmte Anfragen auf BigQuery auszuführen. Größere Anfragen können jedoch eine Menge von $ kosten, daher werde ich gebeten, sie zu informieren, bevor der Job ausgeführt wird, wie viel es voraussichtlich kosten wird.Running BQ aus Blättern. Wie schätzen Sie die Kosten für Jobs vor dem Ausführen ein?

Im Bigquery-UI gibt green V an, wie viel GB der Job durchläuft. Von dieser Nummer kann ich die Kosten ableiten. Aber wie kann ich es im Script wissen, bevor der Job gesendet wird?

Dank

Antwort

2

Sie können die BigQuery-API in Ihrem Skript verwenden. Wenn die Abfrage gültig ist und Sie dryRun auf "True" setzen, führt BigQuery den Job nicht aus. Stattdessen gibt BigQuery Statistiken über den Job zurück, z. B. wie viele Byte verarbeitet werden.

Hier haben Sie weitere Informationen, die nützlich sein können: Price your queries before running them.

1

Sie können ersten Trockenlauf tun, die Anzahl von Bytes zurückgibt Abfrage verarbeitet. Beachten Sie jedoch, dass eine Mindestanzahl von Bytes in Rechnung gestellt wird: 10 Millionen pro Abfrage und 10 Millionen pro Tabelle. Die endgültigen Kosten sind also max (Bytes_processed, 10M, n_tables * 10M).

Verwandte Themen