Estima los costos de almacenamiento y consultas

Las consultas a pedido se cobran en función de la cantidad de bytes leídos. Para ver los precios de las consultas a pedido, consulta la página Precios.

Para estimar los costos antes de ejecutar una consulta, usa lo siguiente:

  • El validador de consultas en Cloud Console o la IU web clásica de BigQuery
  • La marca --dry_run en la CLI
  • El parámetro dryRun cuando se envía un trabajo de consulta mediante la API
  • Calculadora de precios de Google Cloud
  • Bibliotecas cliente

Estima los costos de las consultas

Para estimar los costos de las consultas, haz lo siguiente:

Console

Cuando ingresas una consulta en Cloud Console, el validador de consultas verifica la sintaxis de la consulta y proporciona una estimación del número de bytes leídos. Puedes usar esta estimación para calcular el costo de la consulta en la calculadora de precios.

Validador de consultas

IU clásica

Cuando ingresas una consulta en Cloud Console o en la IU web clásica de BigQuery, el validador de consultas verifica la sintaxis de la consulta y proporciona una estimación del número de bytes leídos. Puedes usar esta estimación para calcular el costo de la consulta en la calculadora de precios.

Validador de consultas

CLI

Cuando ejecutas una consulta en la CLI, puedes usar la marca --dry_run para estimar la cantidad de bytes leídos. Puedes usar esta estimación para calcular el costo de la consulta en la calculadora de precios.

Una consulta de la CLI que usa la marca --dry_run se ve de la siguiente manera:

bq query \
--use_legacy_sql=false \
--dry_run \
'SELECT
  column1,
  column2,
  column3
FROM
  `project_id.dataset.table`
LIMIT
  1000'

Cuando ejecutas el comando, la respuesta contiene la estimación de bytes leídos: Query successfully validated. Assuming the tables are not modified, running this query will process 10918 bytes of data.

API

Para realizar una ejecución de prueba mediante la API, envía un trabajo de consulta con dryRun establecido en true.

go

Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/bigquery"
)

// queryDryRun demonstrates issuing a dry run query to validate query structure and
// provide an estimate of the bytes scanned.
func queryDryRun(w io.Writer, projectID string) error {
	// projectID := "my-project-id"
	ctx := context.Background()
	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	q := client.Query(`
	SELECT
		name,
		COUNT(*) as name_count
	FROM ` + "`bigquery-public-data.usa_names.usa_1910_2013`" + `
	WHERE state = 'WA'
	GROUP BY name`)
	q.DryRun = true
	// Location must match that of the dataset(s) referenced in the query.
	q.Location = "US"

	job, err := q.Run(ctx)
	if err != nil {
		return err
	}
	// Dry run is not asynchronous, so get the latest status and statistics.
	status := job.LastStatus()
	if err != nil {
		return err
	}
	fmt.Fprintf(w, "This query will process %d bytes\n", status.Statistics.TotalBytesProcessed)
	return nil
}

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function queryDryRun() {
  // Runs a dry query of the U.S. given names dataset for the state of Texas.

  const query = `SELECT name
    FROM \`bigquery-public-data.usa_names.usa_1910_2013\`
    WHERE state = 'TX'
    LIMIT 100`;

  // For all options, see https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/query
  const options = {
    query: query,
    // Location must match that of the dataset(s) referenced in the query.
    location: 'US',
    dryRun: true,
  };

  // Run the query as a job
  const [job] = await bigquery.createQueryJob(options);

  // Print the status and statistics
  console.log('Status:');
  console.log(job.metadata.status);
  console.log('\nJob Statistics:');
  console.log(job.metadata.statistics);
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

Para realizar una ejecución de prueba con la biblioteca cliente de Python, configura la propiedad QueryJobConfig.dry_run como True. Client.query() siempre muestra un QueryJob completo cuando se proporciona una configuración de consulta de ejecución de prueba.
from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

job_config = bigquery.QueryJobConfig(dry_run=True, use_query_cache=False)

# Start the query, passing in the extra configuration.
query_job = client.query(
    (
        "SELECT name, COUNT(*) as name_count "
        "FROM `bigquery-public-data.usa_names.usa_1910_2013` "
        "WHERE state = 'WA' "
        "GROUP BY name"
    ),
    job_config=job_config,
)  # Make an API request.

# A dry run query completes immediately.
print("This query will process {} bytes.".format(query_job.total_bytes_processed))

Estima los costos de las consultas con la calculadora de precios de Google Cloud

Para estimar los costos de las consultas a pedido en la calculadora de precios de Google Cloud, ingresa la cantidad de bytes que procesa la consulta en B, KB, MB, GB, TB o PB. Si tu consulta procesa menos de 1 TB, la estimación es de $0 porque BigQuery proporciona 1 TB de procesamiento de consultas a pedido gratis por mes.

Calculadora de precios

Para estimar el costo de una consulta con la calculadora de precios, sigue estos pasos:

  1. Abre la calculadora de precios de Google Cloud.
  2. Haz clic en BigQuery.
  3. Haz clic en la pestaña On-Demand (A pedido).
  4. En Nombre de la tabla, escribe el nombre de la tabla. Por ejemplo, airports.
  5. En Precios de almacenamiento, ingresa 0 en el campo Almacenamiento.
  6. En Query Pricing (Precios de las consultas), ingresa los bytes leídos estimados de tu ejecución de prueba o el validador de consultas.Calculadora
  7. Haz clic en Add To Estimate (Agregar a la estimación).
  8. La estimación aparece a la derecha. Ten en cuenta que puedes guardar o enviar la estimación por correo electrónico. Calculadora a pedido

En este caso, la cantidad de bytes que leyó la consulta es menor que 1 TB, que es el procesamiento a pedido proporcionado a través del nivel gratuito. Como resultado, el costo estimado es de $0.

Incluye precios de tasa fija en la calculadora de precios

Si tienes precios de tasa fija aplicados a tu cuenta de facturación, puedes hacer clic en la pestaña Flat-Rate (Tasa fija), elegir tu plan de tasa fija y agregar tus costos de almacenamiento a la estimación.

Calculadora de tasa fija

Para obtener más información, consulta Precios con tasa fija.

Estima los costos de almacenamiento con la calculadora de precios de Google Cloud

Para calcular los costos de almacenamiento en la calculadora de precios de Google Cloud , ingresa la cantidad de bytes que se almacenan como B, KB, MB, GB, TB o PB. BigQuery proporciona 10 GB de almacenamiento gratuito por mes.

Para estimar los costos de almacenamiento con la calculadora de precios, sigue estos pasos:

  1. Abre la calculadora de precios de Google Cloud.
  2. Haz clic en BigQuery.
  3. Haz clic en la pestaña On-Demand (A pedido).
  4. En Nombre de la tabla, escribe el nombre de la tabla. Por ejemplo, airports.
  5. En Precios de almacenamiento, ingresa 100 en el campo Almacenamiento. Deja la medida establecida en GB.
  6. Haz clic en Add To Estimate (Agregar a la estimación).
  7. La estimación aparece a la derecha. Ten en cuenta que puedes guardar o enviar la estimación por correo electrónico. Calculadora de precios