Что такое Python API, который я могу использовать для расчета стоимости запроса BigQuery? - PullRequest
1 голос
/ 25 октября 2019

Кто-нибудь знал, как использовать Python Google Cloud BigQuery API для расчета стоимости запроса?

Ответы [ 2 ]

4 голосов
/ 25 октября 2019

1. Получите объем данных, обработанных по вашему запросу

Используя SDK Google Cloud Python, вы можете установить флаг dry_run.

job_config = bigquery.QueryJobConfig()
job_config.dry_run = True
job_config.use_query_cache = False
query_job = client.query(
  ...
)

2. Рассчитайте стоимость с total_bytes_processed

Если вы используете цены по требованию , посмотрите на query_job.total_bytes_processed, чтобы узнать, за сколько обработанных данных вам будет выставлен счет. Текущая стоимость (по состоянию на октябрь 2019 г.) составляет 5 долл. США за обработанный ТБ , где первый ТБ является бесплатным.

Таким образом, вы можете получить стоимость с помощью чего-то вроде этого:

cost_dollars = (query_job.total_bytes_processed / 10e12) * 5
2 голосов
/ 25 октября 2019

Я не думаю, что вы можете рассчитать стоимость напрямую, но вы можете использовать параметр dryRun в Python API, чтобы получить количество обработанных байтов, которое затем можно преобразовать в стоимость (по номеру , указанному по запросу). цена (5 долл. США / ТБ).

Что-то вроде:

from google.cloud import bigquery

job_config = bigquery.QueryJobConfig()
job_config.dry_run = True
job_config.use_query_cache = False
query_job = bigquery.Client().query(
    (
        "SELECT my_column FROM my_table"
    ),
    location="US", # or wherever your data is
    job_config=job_config,
)

print("{} bytes will be processed".format(query_job.total_bytes_processed))

Вот ссылка на документы по оценке стоимости .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...