Exporta datos de tablas

En esta página, se describe cómo exportar datos desde tablas de BigQuery.

Después de cargar tus datos en BigQuery, puedes exportarlos en varios formatos. BigQuery puede exportar hasta 1 GB de datos a un solo archivo. Si necesitas exportar más de 1 GB de datos, debes exportarlos a varios archivos. Cuando exportas tus datos a varios archivos, el tamaño de estos puede variar.

Puedes usar un servicio como Cloud Dataflow para leer los datos de BigQuery, en lugar de exportarlos manualmente. Para obtener más información sobre cómo usar Cloud Dataflow para leer y escribir en BigQuery, consulta E/S de BigQuery en la documentación de Apache Beam.

Permisos necesarios

  • Asegúrate de tener acceso de READER al conjunto de datos que contiene los datos que deseas exportar. Si no, puedes usar cualquier función de IAM predeterminada a nivel de proyecto de BigQuery que proporcione permisos bigquery.tables.export, como bigquery.dataViewer, bigquery.dataOwner, bigquery.dataEditor o bigquery.admin. Cuando asignas una función de IAM a nivel de proyecto, el usuario o grupo tiene permisos bigquery.tables.export por cada tabla del proyecto.
  • Asegúrate de tener permisos de WRITER para un depósito de Cloud Storage o de que se te haya asignado una función de IAM predeterminada que te otorgue los permisos para escribir objetos en un depósito. Solo puedes exportar datos de BigQuery a un depósito de Cloud Storage. Para obtener más información sobre las funciones de IAM de Cloud Storage, consulta Funciones de IAM de Cloud Storage.
  • La ejecución de un trabajo de exportación requiere los permisos bigquery.jobs.create. Puedes configurar permisos bigquery.jobs.create a nivel del proyecto si otorgas cualquiera de las funciones de IAM siguientes:

    • bigquery.user
    • bigquery.jobUser
    • bigquery.admin

Exporta limitaciones

Cuando exportes datos desde BigQuery, ten en cuenta esta información:

  • No puedes exportar datos de tabla a un archivo local, a las Hojas de cálculo de Google o a Google Drive. La única ubicación de exportación admitida es Cloud Storage. Para obtener información sobre cómo guardar resultados de consultas, consulta Descarga y guarda resultados de consultas.
  • Puedes exportar hasta 1 GB de datos de tablas a un solo archivo. Si necesitas exportar más de 1 GB de datos, usa un comodín para exportar los datos a varios archivos. Cuando exportas datos a varios archivos, el tamaño de estos puede variar.
  • No puedes exportar datos anidados y repetidos en formato CSV. Las exportaciones Avro y JSON son las que admiten ese tipo de datos.
  • Cuando exportas datos en formato JSON, los tipos de datos INT64 (número entero) se codifican como strings JSON para conservar la precisión de 64 bits cuando otros sistemas leen los datos.
  • No puedes exportar datos de varias tablas en un solo trabajo de exportación.
  • Cuando exportas datos de tablas particionadas, no puedes exportar particiones individuales.
  • Solo puedes elegir otro tipo de compresión que no sea GZIP cuando exportas datos mediante GCP Console o la IU web clásica de BigQuery.

Consideraciones de ubicación

Cuando elijas una ubicación para tus datos, ten en cuenta esta información:

  • Coloca tus depósitos de Cloud Storage para exportar datos.
    • Cuando exportes datos, el depósito de Cloud Storage regional o multirregional debe estar en la misma ubicación que el conjunto de datos de BigQuery. Por ejemplo, si tu conjunto de datos de BigQuery se encuentra en la ubicación multirregional de la UE, el depósito de Cloud Storage que contiene los datos que estás exportando debe estar en un depósito regional o multirregional en la UE.
    • Si tu conjunto de datos está en una ubicación regional, tu depósito de Cloud Storage debe ser un depósito regional en la misma ubicación. Por ejemplo, si tu conjunto de datos está en la región de Tokio, tu depósito de Cloud Storage debe estar un depósito regional en Tokio.
    • Excepción: Si tu conjunto de datos se encuentra en la ubicación multirregional de los EE.UU., puedes exportar datos desde un depósito de Cloud Storage en cualquier ubicación regional o multirregional.
  • Desarrolla un plan de administración de datos.
    • Si eliges un recurso de almacenamiento regional como un conjunto de datos de BigQuery o un depósito de Cloud Storage, debes desarrollar un plan para administrar tus datos geográficamente.

Para obtener más información sobre las ubicaciones de Cloud Storage, consulta Ubicaciones de depósitos en la documentación de Cloud Storage.

Traslada datos de BigQuery entre ubicaciones

No puedes cambiar la ubicación de un conjunto de datos después de crearlo. Además, no puedes mover un conjunto de datos de una ubicación a otra. Si necesitas mover un conjunto de datos de una ubicación a otra, sigue este proceso:

  1. Exporta los datos desde tus tablas de BigQuery a un depósito de Cloud Storage regional o multirregión en la misma ubicación que tu conjunto de datos. Por ejemplo, si tu conjunto de datos se encuentra en la ubicación multirregión de la UE, exporta tus datos a un depósito regional o multirregión en la UE.

    No se aplican cargos por exportar datos desde BigQuery, pero sí por almacenar los datos exportados en Cloud Storage. Las exportaciones de BigQuery están sujetas a los límites de los trabajos de exportación.

  2. Copia o mueve los datos de tu depósito de Cloud Storage a un grupo regional o multirregión en la ubicación nueva. Por ejemplo, si trasladas tus datos desde la ubicación multirregión de los EE.UU. a la ubicación regional de Tokio, transferirás los datos a un depósito regional en Tokio. Para obtener más información sobre la transferencia de objetos de Cloud Storage, consulta Renombra, copia y mueve objetos en la documentación de Cloud Storage.

    Ten en cuenta que la transferencia de datos entre regiones incurre en cargos de salida de red en Cloud Storage.

  3. Después de transferir los datos a un depósito de Cloud Storage en la ubicación nueva, crea un conjunto de datos nuevo de BigQuery (en la ubicación nueva). Luego, carga tus datos del depósito de Cloud Storage en BigQuery.

    No se te cobrará por cargar los datos en BigQuery, pero incurrirás en cargos por almacenar los datos en Cloud Storage hasta que borres los datos o el depósito. También se te cobra por almacenar los datos en BigQuery después de que se carguen. La carga de datos en BigQuery está sujeta a los límites de los trabajos de carga.

A fin de obtener más información sobre el uso de Cloud Storage para almacenar y mover conjuntos de datos grandes, consulta Usa Cloud Storage con macrodatos.

Exporta formatos y tipos de compresión

BigQuery es compatible con los formatos de datos y tipos de compresión siguientes para datos exportados.

Formato de los datos Tipos de compresión compatibles Detalles
CSV GZIP

Puedes controlar el delimitador CSV en tus datos exportados con la marca de CLI --field_delimiter o la propiedad del trabajo de extracción configuration.extract.fieldDelimiter .

Los datos anidados y repetidos no son compatibles.

JSON GZIP Los datos anidados y repetidos son compatibles.
Avro DEFLATE, SNAPPY

GZIP no es compatible con las exportaciones de Avro.

Los datos anidados y repetidos son compatibles.

Exporta datos almacenados en BigQuery

Puedes exportar datos de tabla con la IU web de BigQuery, con el comando CLI bq extract o mediante el envío de un trabajo de extracción a través de la API o de las bibliotecas cliente.

Exporta datos de tablas

Para exportar datos desde una tabla de BigQuery, sigue estos pasos:

Console

  1. Abre la IU web de BigQuery en GCP Console.
    Ir a la IU web de BigQuery

  2. En el panel de navegación, en la sección Recursos (Resources), expande tu proyecto y haz clic en tu conjunto de datos para expandirlo. Busca y haz clic en la tabla que contiene los datos que exportarás.

  3. En el lado derecho de la ventana, haz clic en Exportar (Export) y luego selecciona Exportar a Cloud Storage

    Exporta datos

  4. En el diálogo Exportar a Cloud Storage:

    • En Seleccionar la ubicación en Cloud Storage, busca el depósito, la carpeta o el archivo al que quieres exportar los datos.
    • En Formato de exportación, selecciona el formato para tus datos exportados: CSV, JSON (delimitado por saltos de línea) o Avro.
    • En Compresión, acepta el valor predeterminado, None, o selecciona GZIP. El formato Avro no se puede usar junto con la compresión GZIP. Para comprimir datos Avro, usa la herramienta de línea de comandos bq o la API y especifica uno de los tipos de compresión compatibles con los datos Avro: DEFLATE o SNAPPY.
    • Haz clic en Exportar para exportar la tabla.

Para verificar el progreso del trabajo, busca en la parte superior de la navegación el Historial de trabajo para un trabajo de exportación.

IU clásica

  1. Ve a la IU web de BigQuery.
    Ir a la IU web de BigQuery

  2. En el panel de navegación, haz clic en tu conjunto de datos para expandirlo.

  3. Busca y haz clic en el ícono de flecha hacia abajo imagen del ícono de flecha hacia abajo junto a la tabla que contiene los datos que exportarás.

  4. Selecciona Exportar tabla para mostrar el diálogo Exportar a Cloud Storage.

  5. En el diálogo Exportar a Cloud Storage:

    • En Formato de exportación, selecciona el formato para tus datos exportados: CSV, JSON (delimitado por saltos de línea) o Avro.
    • En Compresión, acepta el valor predeterminado, None, o selecciona GZIP. El formato Avro no se puede usar junto con la compresión GZIP. Para comprimir datos Avro, usa la herramienta de línea de comandos bq o la API y especifica uno de los tipos de compresión compatibles con los datos Avro: DEFLATE o SNAPPY.
    • En el cuadro de texto URI de Cloud Storage, ingresa un URI válido en el formato gs://[BUCKET_NAME]/[FILENAME.CSV], donde [BUCKET_NAME] es el nombre de tu depósito de Cloud Storage y [FILENAME] es el nombre de tu archivo de destino. El conjunto de datos de BigQuery y el depósito de Cloud Storage deben estar en la misma ubicación.
    • Haz clic en Aceptar para exportar la tabla.

Mientras se ejecuta el trabajo, (extrayendo) aparece junto al nombre de la tabla en la navegación. Para verificar el progreso del trabajo, busca un Extracto en Historial de trabajo en la parte superior de la navegación.

Línea de comandos


Usa el comando bq extract.

  • bq --location=[LOCATION] extract --destination_format [FORMAT] --compression [COMPRESSION_TYPE] --field_delimiter [DELIMITER] --print_header [BOOLEAN] [PROJECT_ID]:[DATASET].[TABLE] gs://[BUCKET]/[FILENAME]

Donde:

  • [LOCATION] es el nombre de tu ubicación. La marca --location es opcional. Por ejemplo, si usas BigQuery en la región de Tokio, puedes configurar el valor de la marca en asia-northeast1. Puedes configurar un valor predeterminado para la ubicación con el archivo .bigqueryrc.
  • [FORMAT] es el formato de los datos exportados: CSV, NEWLINE_DELIMITED_JSON o AVRO.
  • [COMPRESSION_TYPE] es un tipo de compresión compatible para tu formato de datos. CSV y NEWLINE_DELIMITED_JSON admiten GZIP. AVRO admite DEFLATE y SNAPPY.
  • [DELIMITER] es el carácter que indica el límite entre columnas en las exportaciones de CSV. \t y tab son nombres aceptados para la pestaña.
  • [BOOLEAN] es true o false. Cuando se establece como true, las filas del encabezado se imprimen en los datos exportados si el formato de datos admite encabezados. El valor predeterminado es true.
  • [PROJECT_ID] es el ID del proyecto.
  • [DATASET] es el nombre del conjunto de datos de origen.
  • [TABLE] es la tabla que exportarás.
  • [BUCKET] es el nombre del depósito de Cloud Storage al que exportarás los datos. El conjunto de datos de BigQuery y el depósito de Cloud Storage deben estar en la misma ubicación.
  • [FILENAME] es el nombre del archivo de datos exportados. Puedes exportar a varios archivos con un comodín.

Ejemplos:

Por ejemplo, el siguiente comando exporta mydataset.mytable a un archivo comprimido gzip llamado myfile.csv. myfile.csv se almacena en un depósito de Cloud Storage llamado example-bucket.

  • bq --location=US extract --compression GZIP 'mydataset.mytable' gs://example-bucket/myfile.csv

El formato de destino predeterminado es CSV. Para exportar en JSON o Avro, usa la marca destination_format y configúrala como NEWLINE_DELIMITED_JSON o AVRO. Por ejemplo:

  • bq --location=US extract --destination_format NEWLINE_DELIMITED_JSON 'mydataset.mytable' gs://example-bucket/myfile.json

Con el comando siguiente, se exporta mydataset.mytable en un archivo de Avro que se comprime con Snappy. El archivo se llama myfile.avro. myfile.avro se exporta a un depósito de Cloud Storage llamado example-bucket.

  • bq --location=US extract --destination_format AVRO --compression SNAPPY 'mydataset.mytable' gs://example-bucket/myfile.avro

API


Para exportar datos, crea un trabajo y propaga el objeto configuration.extract.

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

  1. Crea un trabajo de extracción que apunte a los datos de origen de BigQuery y al destino de Cloud Storage.

  2. Especifica la tabla de origen con el objeto de configuración sourceTable, que abarca el ID del proyecto, el ID del conjunto de datos y el ID de la tabla.

  3. Los URI de destino deben estar equipados por completo en el formato gs://[BUCKET_NAME]/[FILENAME.CSV]. Cada URI puede contener un carácter comodín '*' y debe aparecer después del nombre del depósito.

  4. Configura la propiedad configuration.extract.destinationFormat para especificar el formato de datos. Por ejemplo, para exportar un archivo JSON, configura esta propiedad con el valor NEWLINE_DELIMITED_JSON.

  5. Para verificar el estado del trabajo, llama a jobs.get([JOB_ID]) con el ID del trabajo mostrado por la solicitud inicial.

    • Si se muestra status.state = DONE, el trabajo se completó con éxito.
    • Si la propiedad status.errorResult está presente, la solicitud falló y ese objeto incluirá información que describe qué salió mal.
    • Si status.errorResult está ausente, el trabajo se completó con éxito, aunque pudo haber algunos errores no fatales. Los errores no fatales se enumeran en la propiedad status.errors del objeto del trabajo mostrado.

Notas de API:

  • Como recomendación, genera un ID único y pásalo como jobReference.jobId cuando llamas a jobs.insert() para crear un trabajo. Este enfoque es más resistente al fallo de la red porque el cliente puede sondear o reintentar con el ID de trabajo conocido.

  • Llamar a jobs.insert() con un ID de trabajo dado es idempotente, en otras palabras, puedes volver a intentarlo tantas veces como desees con el mismo ID de trabajo y al menos una de las operaciones será correcta.

C#

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

using Google.Cloud.BigQuery.V2;
using System;

public class BigQueryExtractTable
{
    public void ExtractTable(
        string projectId = "your-project-id",
        string bucketName = "your-bucket-name")
    {
        BigQueryClient client = BigQueryClient.Create(projectId);
        // Define a destination URI. Use a single wildcard URI if you think
        // your exported data will be larger than the 1 GB maximum value.
        string destinationUri = $"gs://{bucketName}/shakespeare-*.csv";
        BigQueryJob job = client.CreateExtractJob(
            projectId: "bigquery-public-data",
            datasetId: "samples",
            tableId: "shakespeare",
            destinationUri: destinationUri
        );
        job.PollUntilCompleted();  // Waits for the job to complete.
        Console.Write($"Exported table to {destinationUri}.");
    }
}

Go

Antes de probar esta muestra, sigue las instrucciones de configuración para Go de la Guía de inicio rápido de BigQuery con bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.

srcProject := "bigquery-public-data"
srcDataset := "samples"
srcTable := "shakespeare"

// For example, gcsUri = "gs://mybucket/shakespeare.csv"
gcsRef := bigquery.NewGCSReference(gcsURI)
gcsRef.FieldDelimiter = ","

extractor := client.DatasetInProject(srcProject, srcDataset).Table(srcTable).ExtractorTo(gcsRef)
extractor.DisableHeader = true
// You can choose to run the job in a specific location for more complex data locality scenarios.
// Ex: In this example, source dataset and GCS bucket are in the US.
extractor.Location = "US"

job, err := extractor.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
}

Java

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

Job job = table.extract(format, gcsUrl);
// Wait for the job to complete
try {
  Job completedJob =
      job.waitFor(
          RetryOption.initialRetryDelay(Duration.ofSeconds(1)),
          RetryOption.totalTimeout(Duration.ofMinutes(3)));
  if (completedJob != null && completedJob.getStatus().getError() == null) {
    // Job completed successfully
  } else {
    // Handle error case
  }
} catch (InterruptedException e) {
  // Handle interrupted wait
}

Node.js

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

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

async function extractTableToGCS() {
  // Exports my_dataset:my_table to gcs://my-bucket/my-file as raw CSV.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = "my_dataset";
  // const tableId = "my_table";
  // const bucketName = "my-bucket";
  // const filename = "file.csv";

  // Instantiate clients
  const bigqueryClient = new BigQuery();
  const storageClient = new Storage();

  // Location must match that of the source table.
  const options = {
    location: 'US',
  };

  // Export data from the table into a Google Cloud Storage file
  const [job] = await bigqueryClient
    .dataset(datasetId)
    .table(tableId)
    .extract(storageClient.bucket(bucketName).file(filename), options);
  // load() waits for the job to finish
  console.log(`Job ${job.id} completed.`);

  // Check the job's status for errors
  const errors = job.status.errors;
  if (errors && errors.length > 0) {
    throw errors;
  }
}
extractTableToGCS();

PHP

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

use Google\Cloud\BigQuery\BigQueryClient;

/** Uncomment and populate these variables in your code */
// $projectId  = 'The Google project ID';
// $datasetId  = 'The BigQuery dataset ID';
// $tableId    = 'The BigQuery table ID';
// $bucketName = 'The Cloud Storage bucket Name';

$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$dataset = $bigQuery->dataset($datasetId);
$table = $dataset->table($tableId);
$destinationUri = "gs://{$bucketName}/{$tableId}.json";
// Define the format to use. If the format is not specified, 'CSV' will be used.
$format = 'NEWLINE_DELIMITED_JSON';
// Create the extract job
$extractConfig = $table->extract($destinationUri)->destinationFormat($format);
// Run the job
$job = $table->runJob($extractConfig);  // Waits for the job to complete
printf('Exported %s to %s' . PHP_EOL, $table->id(), $destinationUri);

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. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

# from google.cloud import bigquery
# client = bigquery.Client()
# bucket_name = 'my-bucket'
project = "bigquery-public-data"
dataset_id = "samples"
table_id = "shakespeare"

destination_uri = "gs://{}/{}".format(bucket_name, "shakespeare.csv")
dataset_ref = client.dataset(dataset_id, project=project)
table_ref = dataset_ref.table(table_id)

extract_job = client.extract_table(
    table_ref,
    destination_uri,
    # Location must match that of the source table.
    location="US",
)  # API request
extract_job.result()  # Waits for job to complete.

print(
    "Exported {}:{}.{} to {}".format(project, dataset_id, table_id, destination_uri)
)

Ruby

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

require "google/cloud/bigquery"

def extract_table(
    bucket_name = "my-bucket",
    dataset_id  = "my_dataset_id",
    table_id    = "my_table_id"
  )
  bigquery = Google::Cloud::Bigquery.new
  dataset  = bigquery.dataset dataset_id
  table    = dataset.table    table_id

  # Define a destination URI. Use a single wildcard URI if you think
  # your exported data will be larger than the 1 GB maximum value.
  destination_uri = "gs://#{bucket_name}/output-*.csv"

  extract_job = table.extract_job(destination_uri) do |config|
    # Location must match that of the source table.
    config.location = "US"
  end
  extract_job.wait_until_done!  # Waits for the job to complete

  puts "Exported #{table.id} to #{destination_uri}"
end

Detalles de exportación de Avro

BigQuery expresa datos en formato Avro de las maneras siguientes:

  • Los archivos de exportación resultantes son archivos de contenedor Avro.
  • Cada fila de BigQuery se representa como un registro Avro. Los datos anidados se representan con objetos de registro anidados.
  • Los campos REQUIRED se representan como los tipos Avro correspondientes. Por ejemplo, un tipo INTEGER de BigQuery asigna a un tipo LONG de Avro.
  • Los campos NULLABLE se representan como una unión Avro del tipo correspondiente y "nulo".
  • Los campos REPEATED se representan como arreglos de Avro.
  • Los tipos de datos TIMESTAMP se representan como tipos LONG de Avro.

El formato Avro no se puede usar junto con la compresión GZIP. Para comprimir datos Avro, usa la herramienta de línea de comandos bq o la API y especifica uno de los tipos de compresión compatibles con los datos Avro: DEFLATE o SNAPPY.

Exporta datos en uno o más archivos

La propiedad destinationUris indica las ubicaciones y los nombres de archivo en los que BigQuery debería exportar tus archivos.

BigQuery admite un solo operador de comodín (*) en cada URI. El comodín puede aparecer en cualquier lugar del URI, excepto como parte del nombre del depósito. El uso del operador de comodín le indica a BigQuery que cree varios archivos fragmentados según el patrón suministrado. El operador de comodín se reemplaza con un número (que comienza en 0) y se rellena a la izquierda con 12 dígitos. Por ejemplo, un URI con un comodín al final del nombre del archivo crearía archivos con 000000000000 adjuntado al primer archivo, 000000000001 adjuntado al segundo archivo, etcétera.

En la tabla siguiente, se describen varias opciones posibles para la propiedad destinationUris:

Opciones de `destinationUris`
Un solo URI

Usa un solo URI si exportas una cantidad de datos de tabla igual o inferior a 1 GB. Esta opción es el caso práctico más común, ya que los datos exportados suelen ser inferiores al valor máximo de 1 GB.

Definición de la propiedad:

['gs://[YOUR_BUCKET]/file-name.json']

Crea:


gs://my-bucket/file-name.json
URI de un solo comodín

Usa un URI de un solo comodín si piensas que tus datos exportados serán superiores al valor máximo de 1 GB. BigQuery fragmenta tus datos en varios archivos según el patrón proporcionado. El tamaño de los archivos exportados variará.

Si usas un comodín en un componente del URI que no sea el nombre del archivo, asegúrate de que la ruta de acceso del componente no exista antes de exportar tus datos.

Definición de la propiedad:

['gs://[YOUR_BUCKET]/file-name-*.json']

Crea:


gs://my-bucket/file-name-000000000000.json
gs://my-bucket/file-name-000000000001.json
gs://my-bucket/file-name-000000000002.json
...
URI de varios comodines

Usa URI de varios comodines si quieres particionar el resultado de la exportación. Usa esta opción si ejecutas un trabajo de procesamiento paralelo con un servicio como Cloud Dataproc. Determina cuántos trabajadores estarán disponibles para procesar el trabajo y crea un URI por trabajador. BigQuery trata cada ubicación de URI como una partición y usa procesamiento paralelo para fragmentar tus datos en varios archivos en cada ubicación. Puedes usar cualquier patrón que quieras en tu nombre de archivo, si se supone que hay un solo operador de comodín en cada URI, que cada URI es único y que el número de URI no supera la política de cuotas.

Cuando pasas más de un URI de comodín, BigQuery crea un archivo especial al final de cada partición que indica el archivo "final" en el conjunto. El nombre de este archivo indica cuántos fragmentos creó BigQuery.

Por ejemplo, si tu URI de comodín es gs://[YOUR_BUCKET]/file-name- <worker number>-*.json y BigQuery crea 80 archivos fragmentados, el nombre del archivo del registro cero es gs://my-bucket/file- name-<worker number>-000000000080.json. Puedes usar este nombre de archivo para determinar que BigQuery creó 80 archivos fragmentados (llamados 000000000000-000000000079).

Ten en cuenta que un archivo de registro cero puede contener más de 0 bytes según el formato de datos, como cuando se exportan datos en formato CSV con un encabezado de columna.

Patrón de la string:

gs://[YOUR_BUCKET]/file-name-<worker number>-*.json

Definición de la propiedad:


['gs://my-bucket/file-name-1-*.json',
'gs://my-bucket/file-name-2-*.json',
'gs://my-bucket/file-name-3-*.json']

Crea:

En este ejemplo, se supone que BigQuery creará 80 archivos fragmentados en cada partición.


gs://my-bucket/file-name-1-000000000000.json
gs://my-bucket/file-name-1-000000000001.json
...
gs://my-bucket/file-name-1-000000000080.json
gs://my-bucket/file-name-2-000000000000.json
gs://my-bucket/file-name-2-000000000001.json
...
gs://my-bucket/file-name-2-000000000080.json
gs://my-bucket/file-name-3-000000000000.json
gs://my-bucket/file-name-3-000000000001.json
...
gs://my-bucket/file-name-3-000000000080.json

Política de cuotas

Para obtener información sobre las cuotas de un trabajo de exportación, consulta Trabajos de exportación en la página Cuotas y límites.

Precios

Por el momento, no se cobran las exportaciones de datos desde BigQuery, pero están sujetas a las Cuotas y límites de BigQuery.

Para obtener más información sobre los precios de BigQuery, consulta la página de Precios.

Una vez se exportan los datos, se te cobra por almacenarlos en Google Cloud Storage.

Para obtener más información sobre los precios de Cloud Storage, consulta la página de Precios de Cloud Storage.

Pasos siguientes

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

Enviar comentarios sobre…

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