Escribe resultados de consultas

En este documento, se explica cómo escribir resultados de las consultas.

Tablas temporales y permanentes

BigQuery guarda todos los resultados de las consultas en una tabla que puede ser permanente o temporal:

  • Una tabla temporal es una tabla con nombre aleatorio guardada en un conjunto de datos especial. Las tablas temporales se usan para almacenar en caché los resultados de las consultas. Una tabla temporal tiene un ciclo de vida aproximado de 24 horas. Las tablas temporales no están disponibles para compartir y no son visibles si usas alguna de las listas estándar o usas otros métodos de manipulación de tablas. No se te cobrará por almacenar tablas temporales.

  • Una tabla permanente puede ser una tabla nueva o existente en cualquier conjunto de datos al que tengas acceso. Si escribes los resultados de las consultas en una tabla nueva, se te cobrará por almacenar los datos. Cuando escribes los resultados de las consultas en una tabla permanente, las tablas que consultas deben estar en la misma ubicación que el conjunto de datos que contiene la tabla de destino.

Escribe los resultados de las consultas en una tabla permanente

Cuando escribes los resultados de las consultas en una tabla permanente, puedes crear una tabla nueva, agregar los resultados en una tabla existente o reemplazar una tabla existente. Puedes escribir los resultados de las consultas en una tabla permanente con la IU web de BigQuery, el comando bq query de la herramienta de línea de comandos o si llamas al método jobs.insert y configuras un trabajo de query.

Permisos necesarios

Los permisos necesarios para escribir los resultados de las consultas en una tabla permanente dependen de la disposición de escritura de los datos.

Permisos para escribir los resultados de las consultas en una tabla nueva

Si escribes los resultados de las consultas en una tabla nueva, debes tener acceso de WRITER en el nivel del conjunto de datos o se te debe asignar una función de IAM a nivel de proyecto que incluye permisos bigquery.tables.create. Las siguientes funciones de IAM predefinidas a nivel de proyecto incluyen permisos de bigquery.tables.create:

Además, debido a que la función bigquery.user tiene permisos bigquery.datasets.create, un usuario asignado a la función bigquery.user puede crear tablas en cualquier conjunto de datos que cree el usuario. Cuando un usuario asignado a la función bigquery.user crea un conjunto de datos, se otorga acceso de OWNER al conjunto de datos. El acceso de OWNER a un conjunto de datos le otorga al usuario control completo sobre él y todas las tablas que contenga.

Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Control de acceso. A fin de obtener más información sobre las funciones a nivel del conjunto de datos, consulta Funciones básicas para conjuntos de datos.

Permisos para reemplazar o agregar datos

Si usas los resultados de las consultas para reemplazar una tabla existente o agregar datos a una tabla existente, debes tener acceso de WRITER a nivel del conjunto de datos o se te debe asignar una función de IAM a nivel de proyecto que incluya permisos bigquery.tables.updateData. Las siguientes funciones de IAM predefinidas a nivel de proyecto incluyen permisos de bigquery.tables.updateData:

Además, debido a que la función bigquery.user tiene los permisos bigquery.datasets.create, un usuario asignado a la función bigquery.user puede reemplazar o agregar datos en cualquier tabla que cree el usuario en el conjunto de datos. Cuando un usuario asignado a la función bigquery.user crea un conjunto de datos, se otorga acceso de OWNER al conjunto de datos. El acceso de OWNER a un conjunto de datos le otorga al usuario control completo sobre él y todas las tablas que contenga.

Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Control de acceso. A fin de obtener más información sobre las funciones a nivel del conjunto de datos, consulta Funciones básicas para conjuntos de datos.

Escribe resultados de consultas

Para escribir los resultados de las consultas en una tabla permanente, sigue estos pasos:

IU clásica

  1. Dirígete a la IU web clásica de BigQuery.
    Ir a la IU web clásica de BigQuery

  2. Haz clic en el botón Compose query (Redactar consulta).

  3. Ingresa una consulta de SQL válida en BigQuery en el área de texto New Query (Consulta nueva).

  4. Haz clic en Show options (Mostrar opciones).

  5. En la sección Destination Table (Tabla de destino), haz clic en Select Table (Seleccionar tabla).

  6. En el cuadro de diálogo Select Destination Table (Seleccionar tabla de destino), haz lo siguiente:

    1. En Project (Proyecto), elige el proyecto en el que se creará la tabla de destino.

    2. En Dataset (Conjunto de datos), elige el conjunto de datos que almacenará la tabla.

    3. En el campo Table ID (ID de la tabla), ingresa un nombre de tabla. El nombre debe ser único en el conjunto de datos de destino. El nombre de la tabla puede tener hasta 1,024 caracteres de la A a la Z (mayúsculas o minúsculas), números del 0 al 9, o _ (el carácter de guion bajo).

    4. Haz clic en OK (Aceptar).

  7. En la sección Destination Table, en Write Preference (Preferencia de escritura), elige una de las siguientes opciones:

    • Write if empty (Escribir si está vacía): escribe los resultados de las consultas en la tabla solo si esta está vacía.
    • Append to table (Agregar a la tabla): agrega los resultados de las consultas a una tabla existente.
    • Overwrite table (Reemplazar tabla): reemplaza una tabla existente con el mismo nombre con los resultados de las consultas.
  8. (Opcional) En Processing Location (Ubicación de procesamiento), haz clic en Unspecified (Sin especificar) y elige la ubicación de tus datos.

  9. Haz clic en Run query (Ejecutar consulta). Esto crea un trabajo de consulta que escribe los resultados de las consultas en la tabla que especificaste.

Como alternativa, si olvidas especificar una tabla de destino antes de ejecutar tu consulta, puedes hacer clic en el botón Save as Table (Guardar como tabla) en la ventana de resultados para copiar la tabla temporal en una tabla permanente.

CLI

Ingresa el comando bq query y especifica la marca --destination_table para crear una tabla permanente basada en los resultados de las consultas. Especifica la marca use_legacy_sql=false para usar la sintaxis de SQL estándar. A fin de escribir los resultados de las consultas en una tabla que no se encuentra en tu proyecto predeterminado, agrega el ID del proyecto al nombre del conjunto de datos en el siguiente formato: [PROJECT_ID]:[DATASET].

Proporciona la marca --location y establece el valor en tu ubicación.

Para controlar la disposición de escritura de una tabla de destino existente, especifica una de las siguientes marcas opcionales:

  • --append_table: si existe la tabla de destino, los resultados de las consultas se agregan a ella.
  • --replace: si existe la tabla de destino, se reemplaza con los resultados de las consultas.

    bq --location=[LOCATION] query --destination_table [PROJECT_ID]:[DATASET].[TABLE] --use_legacy_sql=false '[QUERY]'
    

En el que:

  • [LOCATION] es el nombre de la ubicación que se usa para procesar la consulta. La marca --location es opcional. Por ejemplo, si usas BigQuery en la región de Tokio, puedes configurar el valor de la marca como asia-northeast1. Puedes establecer un valor predeterminado para la ubicación mediante el archivo .bigqueryrc.
  • [PROJECT_ID] es el ID del proyecto.
  • [DATASET] es el nombre del conjunto de datos que contiene la tabla en la que escribes los resultados de las consultas.
  • [TABLE] es el nombre de la tabla en la que escribes los resultados de las consultas.
  • [QUERY] es una consulta en la sintaxis de SQL estándar.

Si no se especifica una marca de disposición de escritura, el comportamiento predeterminado es escribir los resultados en la tabla solo si está vacía. Si la tabla existe y no está vacía, se muestra el siguiente error: BigQuery error in query operation: Error processing job '[PROJECT_ID]:bqjob_123abc456789_00000e1234f_1': Already Exists: Table [PROJECT_ID]:[DATASET].[TABLE].

Ejemplos:

Ingresa el siguiente comando para escribir los resultados de las consultas en una tabla de destino llamada mytable en mydataset. El conjunto de datos se encuentra en tu proyecto predeterminado. Debido a que no se especifica ninguna marca de disposición de escritura en el comando, la tabla debe ser nueva o estar vacía. De lo contrario, se muestra un error Already exists. La consulta recupera datos del conjunto de datos públicos Datos de nombres de EE.UU.

bq --location=US query --destination_table mydataset.mytable --use_legacy_sql=false 'SELECT name,number FROM `bigquery-public-data.usa_names.usa_1910_current` WHERE gender = "M" ORDER BY number DESC'

Ingresa el siguiente comando a fin de usar los resultados de las consultas para reemplazar una tabla de destino llamada mytable en mydataset. El conjunto de datos se encuentra en tu proyecto predeterminado. El comando usa la marca --replace para reemplazar la tabla de destino.

bq --location=US query --destination_table mydataset.mytable --replace --use_legacy_sql=false 'SELECT name,number FROM `bigquery-public-data.usa_names.usa_1910_current` WHERE gender = "M" ORDER BY number DESC'

Ingresa el siguiente comando para agregar los resultados de las consultas a una tabla de destino llamada mytable en mydataset. El conjunto de datos se encuentra en myotherproject, no en tu proyecto predeterminado. El comando usa la marca --append para agregar los resultados de las consultas en la tabla de destino.

bq --location=US query --destination_table myotherproject:mydataset.mytable --append --use_legacy_sql=false 'SELECT name,number FROM `bigquery-public-data.usa_names.usa_1910_current` WHERE gender = "M" ORDER BY number DESC'

API

A fin de guardar los resultados de las consultas en una tabla permanente, llama al método jobs.insert, configura un trabajo de query y, por último, incluye un valor para la propiedad configuration.query.destinationTable. Para controlar la disposición de escritura de una tabla de destino existente, configura la propiedad configuration.query.writeDisposition.

Especifica tu ubicación en la propiedad location en la sección jobReference del recurso de trabajo.

Go

Antes de probar este ejemplo, sigue las instrucciones de configuración para Go de la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la Documentación de referencia de la API de Go de BigQuery.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")

q := client.Query("SELECT 17 as my_col")
q.Location = "US" // Location must match the dataset(s) referenced in query.
q.QueryConfig.Dst = client.Dataset(destDatasetID).Table(destTableID)
job, err := q.Run(ctx)
if err != nil {
	return err
}
status, err := job.Wait(ctx)
if err != nil {
	return err
}
if err := status.Err(); err != nil {
	return err
}
it, err := job.Read(ctx)
for {
	var row []bigquery.Value
	err := it.Next(&row)
	if err == iterator.Done {
		break
	}
	if err != nil {
		return err
	}
	fmt.Println(row)
}

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java de la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la Documentación de referencia de la API de Java de BigQuery.

Para guardar los resultados de las consultas en una tabla permanente, configura la tabla de destino como el TableId deseado en QueryJobConfiguration.

// BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
// String destinationDataset = 'my_destination_dataset';
// String destinationTable = 'my_destination_table';
String query = "SELECT corpus FROM `bigquery-public-data.samples.shakespeare` GROUP BY corpus;";
QueryJobConfiguration queryConfig =
    // Note that setUseLegacySql is set to false by default
    QueryJobConfiguration.newBuilder(query)
        // Save the results of the query to a permanent table.
        .setDestinationTable(TableId.of(destinationDataset, destinationTable))
        .build();

// Print the results.
for (FieldValueList row : bigquery.query(queryConfig).iterateAll()) {
  for (FieldValue val : row) {
    System.out.printf("%s,", val.toString());
  }
  System.out.printf("\n");
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la Documentación de referencia de la API de Python de BigQuery.

Si quieres guardar los resultados de las consultas en una tabla permanente, crea una QueryJobConfig y establece el destino en la TableReference que desees. Pasa la configuración del trabajo al método de consulta.

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_id = 'your_dataset_id'

job_config = bigquery.QueryJobConfig()
# Set the destination table
table_ref = client.dataset(dataset_id).table('your_table_id')
job_config.destination = table_ref
sql = """
    SELECT corpus
    FROM `bigquery-public-data.samples.shakespeare`
    GROUP BY corpus;
"""

# Start the query, passing in the extra configuration.
query_job = client.query(
    sql,
    # Location must match that of the dataset(s) referenced in the query
    # and of the destination table.
    location='US',
    job_config=job_config)  # API request - starts the query

query_job.result()  # Waits for the query to finish
print('Query results loaded to table {}'.format(table_ref.path))

Escribe resultados de consultas grandes

Por lo general, las consultas tienen un tamaño de respuesta máximo. Si planeas ejecutar una consulta que podría mostrar resultados más grandes, puedes hacer lo siguiente:

  • En SQL estándar, especifica una tabla de destino para los resultados de las consultas.
  • En SQL heredado, especifica una tabla de destino y configura la opción allowLargeResults.

Cuando especificas una tabla de destino para los resultados de las consultas grandes, se te cobrará por almacenar los datos.

Limitaciones

En SQL heredado, la escritura de resultados grandes está sujeta a las siguientes limitaciones:

  • Debes especificar una tabla de destino.
  • No puedes especificar una cláusula ORDER BY, TOP o LIMIT de nivel superior. Si lo haces, se anula el beneficio de usar allowLargeResults porque el resultado de la consulta ya no se puede procesar en paralelo.
  • Las funciones analíticas solo pueden mostrar resultados de consultas grandes si se usan junto con una cláusula PARTITION BY.

Escribe resultados grandes con SQL heredado

Para escribir conjuntos de resultados grandes mediante SQL heredado, sigue estos pasos:

IU web

  1. Dirígete a la IU web de BigQuery.
    Ir a la IU web de BigQuery

  2. Haz clic en el botón Compose Query.

  3. Ingresa una consulta válida de SQL en BigQuery en el área de texto New Query. Usa el prefijo #legacySQL o asegúrate de que Use Legacy SQL (Usar SQL heredado) esté marcado en las opciones de consulta.

  4. Haz clic en Show options.

  5. En Destination Table, haz clic en Select Table.

  6. En el cuadro de diálogo Select Destination Table, haz lo siguiente:

    1. En Project, elige el proyecto en el que se creará la tabla de destino.

    2. En Dataset, elige el conjunto de datos que almacenará la tabla.

    3. En el campo Table ID, ingresa un nombre de tabla.

    4. Haz clic en OK.

  7. Si escribes un conjunto de resultados grandes en una tabla existente, puedes usar la opción Write Preference para controlar la disposición de escritura de la tabla de destino:

    • Write if empty: escribe los resultados de las consultas en la tabla solo si esta está vacía.
    • Append to table: agrega los resultados de las consultas a una tabla existente.
    • Overwrite table: reemplaza una tabla existente con el mismo nombre con los resultados de las consultas.
  8. En Results Size (Tamaño de los resultados), marca Allow Large Results (Permitir resultados grandes).

    Opción de permitir resultados grandes

  9. (Opcional) En Processing Location, haz clic en Unspecified y elige la ubicación de tus datos.

  10. Haz clic en Run Query. Esto crea un trabajo de consulta que escribe el conjunto de resultados grandes en la tabla que especificaste.

Línea de comandos

Usa la marca --allow_large_results con la marca --destination_table para crear una tabla de destino que contenga el conjunto de resultados grandes. Debido a que la opción --allow_large_results solo se aplica al SQL heredado, también debes especificar la marca --use_legacy_sql=true. A fin de escribir los resultados de las consultas en una tabla que no se encuentra en tu proyecto predeterminado, agrega el ID del proyecto al nombre del conjunto de datos en el siguiente formato: [PROJECT_ID]:[DATASET]. Proporciona la marca --location y establece el valor en tu ubicación.

Para controlar la disposición de escritura de una tabla de destino existente, especifica una de las siguientes marcas opcionales:

  • --append_table: si existe la tabla de destino, los resultados de las consultas se agregan a ella.
  • --replace: si existe la tabla de destino, se reemplaza con los resultados de las consultas.

    bq --location=[LOCATION] query --destination_table [PROJECT_ID]:[DATASET].[TABLE_NAME] --use_legacy_sql=true --allow_large_results "[QUERY]"
    

En el que:

  • [LOCATION] es el nombre de la ubicación que se usa para procesar la consulta. La marca --location es opcional. Por ejemplo, si usas BigQuery en la región de Tokio, puedes configurar el valor de la marca como asia-northeast1. Puedes configurar un valor predeterminado para la ubicación con el archivo .bigqueryrc.
  • [PROJECT_ID] es el ID del proyecto.
  • [DATASET] es el nombre del conjunto de datos que contiene la tabla en la que escribes los resultados de las consultas.
  • [TABLE] es el nombre de la tabla en la que escribes los resultados de las consultas.
  • [QUERY] es una consulta en la sintaxis de SQL heredado.

Ejemplos:

Ingresa el siguiente comando para escribir los resultados de las consultas grandes en una tabla de destino llamada mytable en mydataset. El conjunto de datos se encuentra en tu proyecto predeterminado. Debido a que no se especifica ninguna marca de disposición de escritura en el comando, la tabla debe ser nueva o estar vacía. De lo contrario, se muestra un error Already exists. La consulta recupera datos del conjunto de datos públicos Datos de nombres de EE.UU. Esta consulta se usa solo como ejemplo. El conjunto de resultados que se muestra no excede el tamaño de respuesta máximo.

bq --location=US query --destination_table mydataset.mytable --use_legacy_sql=true --allow_large_results "SELECT name,number FROM [bigquery-public-data:usa_names.usa_1910_current] WHERE gender = 'M' ORDER BY number DESC"

Ingresa el siguiente comando a fin de usar los resultados de las consultas grandes para reemplazar una tabla de destino llamada mytable en mydataset. El conjunto de datos se encuentra en myotherproject, no en tu proyecto predeterminado. El comando usa la marca --replace para reemplazar la tabla de destino.

bq --location=US query --destination_table mydataset.mytable --replace --use_legacy_sql=true --allow_large_results "SELECT name,number FROM [bigquery-public-data:usa_names.usa_1910_current] WHERE gender = 'M' ORDER BY number DESC"

Ingresa el siguiente comando para agregar los resultados de las consultas grandes en una tabla de destino llamada mytable en mydataset. El conjunto de datos se encuentra en myotherproject, no en tu proyecto predeterminado. El comando usa la marca --append para agregar los resultados de las consultas en la tabla de destino.

bq --location=US query --destination_table myotherproject:mydataset.mytable --append --use_legacy_sql=true --allow_large_results "SELECT name,number FROM [bigquery-public-data:usa_names.usa_1910_current] WHERE gender = 'M' ORDER BY number DESC"

API

Para escribir los resultados grandes en una tabla de destino, llama al método jobs.insert, configura un trabajo de query y establece la propiedad configuration.query.allowLargeResults como true. Especifica la tabla de destino con la propiedad configuration.query.destinationTable. Para controlar la disposición de escritura de una tabla de destino existente, configura la propiedad configuration.query.writeDisposition.

Especifica tu ubicación en la propiedad location en la sección jobReference del recurso de trabajo.

Go

Antes de probar este ejemplo, sigue las instrucciones de configuración para Go de la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la Documentación de referencia de la API de Go de BigQuery.

q := client.Query(
	"SELECT corpus FROM [bigquery-public-data:samples.shakespeare] GROUP BY corpus;")
q.UseLegacySQL = true
q.AllowLargeResults = true
q.QueryConfig.Dst = client.Dataset(dstDatasetID).Table(dstTableID)
job, err := q.Run(ctx)
if err != nil {
	return err
}
status, err := job.Wait(ctx)
if err != nil {
	return err
}
if err := status.Err(); err != nil {
	return err
}
it, err := job.Read(ctx)
for {
	var row []bigquery.Value
	err := it.Next(&row)
	if err == iterator.Done {
		break
	}
	if err != nil {
		return err
	}
	fmt.Println(row)
}

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java de la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la Documentación de referencia de la API de Java de BigQuery.

Para permitir resultados grandes, configura permitir resultados grandes como true y establece la tabla de destino en el TableId que desees en una QueryJobConfiguration.

// BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
// String destinationDataset = 'my_destination_dataset';
// String destinationTable = 'my_destination_table';
String query = "SELECT corpus FROM [bigquery-public-data:samples.shakespeare] GROUP BY corpus;";
QueryJobConfiguration queryConfig =
    // To use legacy SQL syntax, set useLegacySql to true.
    QueryJobConfiguration.newBuilder(query)
        .setUseLegacySql(true)
        // Save the results of the query to a permanent table.
        .setDestinationTable(TableId.of(destinationDataset, destinationTable))
        // Allow results larger than the maximum response size.
        // If true, a destination table must be set.
        .setAllowLargeResults(true)
        .build();

// Print the results.
for (FieldValueList row : bigquery.query(queryConfig).iterateAll()) {
  for (FieldValue val : row) {
    System.out.printf("%s,", val.toString());
  }
  System.out.printf("\n");
}

Python

Antes de probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. Para obtener más información, consulta la Documentación de referencia de la API de Python de BigQuery.

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_id = 'your_dataset_id'

job_config = bigquery.QueryJobConfig()
# Set use_legacy_sql to True to use legacy SQL syntax.
job_config.use_legacy_sql = True
# Set the destination table
table_ref = client.dataset(dataset_id).table('your_table_id')
job_config.destination = table_ref
job_config.allow_large_results = True
sql = """
    SELECT corpus
    FROM [bigquery-public-data:samples.shakespeare]
    GROUP BY corpus;
"""
# Start the query, passing in the extra configuration.
query_job = client.query(
    sql,
    # Location must match that of the dataset(s) referenced in the query
    # and of the destination table.
    location='US',
    job_config=job_config)  # API request - starts the query

query_job.result()  # Waits for the query to finish
print('Query results loaded to table {}'.format(table_ref.path))

Descarga y guarda los resultados de las consultas

Después de ejecutar una consulta de SQL, puedes descargar los resultados en un archivo en tu máquina local, puedes guardarlos en Hojas de cálculo de Google o en una tabla permanente en BigQuery.

Limitaciones

Si quieres descargar y guardar los resultados de las consultas, debes tener en cuenta las siguientes limitaciones:

  • Solo puedes descargar los resultados de las consultas en un archivo local.
  • Para descargar los resultados de las consultas, el conjunto de resultados debe contener menos de 16,000 filas y debe ser de 10 MB o menos. Si tus resultados contienen más de 16,000 filas o su tamaño es mayor a 10 MB, puedes guardarlos en una tabla.
  • Solo puedes descargar los resultados de las consultas en formato CSV o JSON delimitado por saltos de líneas.
  • No puedes descargar los resultados de las consultas que contengan datos anidados y repetidos en formato CSV.
  • No puedes guardar los resultados de las consultas que contengan datos anidados y repetidos en Hojas de cálculo de Google.
  • Cuando guardas los resultados de las consultas en Hojas de cálculo de Google, el conjunto de resultados debe contener menos de 16,000 filas y debe ser de 10 MB o menos. Si tus resultados contienen más de 16,000 filas o su tamaño es mayor a 10 MB, puedes guardarlos en una tabla.
  • La herramienta de línea de comandos o la API no admiten que los resultados se guarden en Hojas de cálculo de Google.

Descarga los resultados de las consultas

Para descargar los resultados de las consultas como un archivo CSV o JSON delimitado por saltos de línea, sigue estos pasos:

  1. Dirígete a la IU web de BigQuery.
    Ir a la IU web de BigQuery

  2. Haz clic en el botón Compose Query.

  3. Ingresa una consulta válida de SQL en BigQuery en el área de texto New Query.

  4. Haz clic en Show options.

  5. (Opcional) En Processing Location, haz clic en Unspecified y elige la ubicación de tus datos.

  6. Haz clic en Run Query.

  7. Cuando se muestran los resultados, haz clic en el botón Download as CSV (Descargar como CSV) o Download as JSON (Descargar como JSON) arriba de los resultados de las consultas.

    captura de pantalla de botones de descargar y guardar

    El archivo se descarga en la ubicación de descarga predeterminada de tu navegador.

Guarda los resultados de las consultas en una tabla

Para guardar los resultados de las consultas como una tabla, sigue estos pasos:

  1. Dirígete a la IU web de BigQuery.
    Ir a la IU web de BigQuery

  2. Haz clic en el botón Compose Query.

  3. Ingresa una consulta válida de SQL en BigQuery en el área de texto New Query.

  4. Haz clic en Show options.

  5. (Opcional) En Processing Location, haz clic en Unspecified y elige la ubicación de tus datos.

  6. Haz clic en Run Query.

  7. Cuando se muestren los resultados, haz clic en el botón Save as Table arriba de los resultados de las consultas.

    captura de pantalla de botones de descargar y guardar

  8. En el cuadro de diálogo Copy Table (Copiar tabla), haz lo siguiente:

    • En Destination project (Proyecto de destino), selecciona el proyecto en que almacenarán los resultados de las consultas.
    • En Destination dataset (Conjunto de datos de destino), selecciona el conjunto de datos en el que deseas almacenar los resultados de las consultas. Los conjuntos de datos de origen y de destino deben estar en la misma ubicación.
    • En Destination table, ingresa un nombre para la tabla nueva. El nombre debe ser único en el conjunto de datos de destino. El nombre de la tabla puede tener hasta 1,024 caracteres de la A a la Z (mayúsculas o minúsculas), números del 0 al 9, o _ (el carácter de guion bajo). No puedes reemplazar una tabla existente en el conjunto de datos de destino con la IU web de BigQuery.

      Copia de tabla

    • Haz clic en OK.

  9. Luego de hacer clic en OK, se genera un trabajo de copia de manera automática para crear la tabla nueva mediante una copia de la tabla (caché) temporal. Cuando el trabajo se completa, puedes ver la tabla nueva en el panel de navegación de la IU.

Guarda los resultados de las consultas en Hojas de cálculo de Google

Para guardar los resultados de las consultas en Hojas de cálculo de Google, sigue estos pasos:

  1. Dirígete a la IU web de BigQuery.
    Ir a la IU web de BigQuery

  2. Haz clic en el botón Compose Query.

  3. Ingresa una consulta válida de SQL en BigQuery en el área de texto New Query.

  4. Haz clic en Show options.

  5. (Opcional) En Processing Location, haz clic en Unspecified y elige la ubicación de tus datos.

  6. Haz clic en Run Query.

  7. Cuando se muestren los resultados, haz clic en el botón Save to Google Sheets (Guardar en Hojas de cálculo de Google) arriba de los resultados de las consultas.

    captura de pantalla de botones de descargar y guardar

  8. Si es necesario, sigue las indicaciones a fin de acceder a tu Cuenta de Google y haz clic en Allow (Permitir) si quieres permitir que BigQuery escriba los datos de tu carpeta MY Drive de Google Drive.

    Después de seguir las indicaciones, debes recibir un correo electrónico con el asunto “Herramientas cliente de BigQuery conectadas a tu Cuenta de Google”. El correo electrónico contiene información sobre los permisos que otorgaste junto con los pasos para quitarlos.

  9. Cuando se guardan los resultados, aparece un mensaje como el que se presenta a continuación, arriba de los resultados de las consultas en la IU web de BigQuery: Results saved to Google Sheets. Click to view. Haz clic en el vínculo del mensaje para ver tus resultados en Hojas de cálculo de Google o navega hacia tu carpeta MY Drive y abre el archivo de forma manual.

    Cuando guardas los resultados de las consultas en Hojas de cálculo de Google, el nombre del archivo comienza con results-[DATE] donde [DATE] es la fecha de hoy en formato YYYYMMDD.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.