Administra conjuntos de datos
En este documento, se describe cómo volver a crear conjuntos de datos en otra ubicación, protegerlos, borrarlos y restablecer tablas de conjuntos de datos borrados en BigQuery. Para obtener información sobre cómo restablecer (o recuperar) un conjunto de datos borrado, consulta Restablece conjuntos de datos borrados.
Como administrador de BigQuery, puedes organizar y controlar el acceso a las tablas y las vistas que usan los analistas. Para obtener más información sobre conjuntos de datos, consulta Introducción a los conjuntos de datos.
No puedes cambiar el nombre de un conjunto de datos existente ni reubicarlo después de crearlo.
Roles obligatorios
En esta sección, se describen los roles y los permisos que necesitas para administrar los conjuntos de datos. Si tu conjunto de datos de origen o de destino está en el mismo proyecto que usas para copiar, no necesitas roles ni permisos adicionales en ese conjunto de datos.
Borra un conjunto de datos
Otorga estos roles para borrar un conjunto de datos.
Para obtener los permisos que necesitas para borrar conjuntos de datos, pídele a tu administrador que te otorgue el rol de IAM Propietario de datos de BigQuery (roles/bigquery.dataOwner) en el proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para borrar conjuntos de datos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para borrar conjuntos de datos:
-
bigquery.datasets.deleteen el proyecto -
bigquery.tables.deleteen el proyecto
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Cómo volver a crear conjuntos de datos en otra ubicación
Para mover un conjunto de datos de una ubicación a otra de forma manual, sigue estos pasos:
-
Exporta los datos de tus tablas de BigQuery a un bucket de Cloud Storage.
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 extracción.
-
Copia o mueve los datos de tu bucket de exportación de Cloud Storage a un bucket nuevo que hayas creado en la ubicación de destino. Por ejemplo, si mueves tus datos desde la multirregión
USa la regiónasia-northeast1de Tokio, debes transferir los datos a un bucket que hayas creados en Tokio. Para obtener más información sobre la transferencia de objetos de Cloud Storage, consulta Copia, cambia el nombre y mueve objetos en la documentación de Cloud Storage.La transferencia de datos entre regiones incurre en cargos de salida de red en Cloud Storage.
-
Crea un nuevo conjunto de datos de BigQuery en la ubicación nueva y, luego, carga tus datos del bucket de Cloud Storage en el nuevo conjunto de datos.
No se te cobrará por cargar los datos en BigQuery, pero sí por almacenar los datos en Cloud Storage hasta que borres los datos o el bucket. 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.
También puedes usar Managed Service para Apache Airflow para mover y copiar conjuntos de datos grandes de manera programática.
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.
Conjuntos de datos seguros
Para controlar el acceso a los conjuntos de datos en BigQuery, consulta Controla el acceso a los conjuntos de datos. Para obtener información sobre la encriptación de datos, consulta Encriptación en reposo.
Borrar conjuntos de datos
Cuando borras un conjunto de datos con la Cloud de Confiance consola, sus tablas y vistas, incluidos sus datos, se borran automáticamente. Sin embargo, cuando uses cualquier otro método, primero debes vaciar el conjunto de datos o especificar las marcas, los parámetros o las palabras clave correspondientes que fuerzan la eliminación del contenido del conjunto de datos.
Si intentas borrar un conjunto de datos no vacío sin las marcas o los parámetros adecuados, la operación fallará y se mostrará el siguiente error: Dataset project:dataset is still in use.
Cuando se borra un conjunto de datos, se crea una entrada de registro de auditoría para el borrado. No crea entradas de registro separadas para cada tabla borrada dentro del conjunto de datos.
Para borrar un conjunto de datos, elige una de las siguientes opciones:
Console
Ve a la página de BigQuery.
En el panel de la izquierda, haz clic en Explorar.

En el panel Explorador, expande tu proyecto, haz clic en Conjuntos de datos y, luego, haz clic en el conjunto de datos.
En el panel de detalles, haz clic en Borrar.
En el cuadro de diálogo Borrar conjunto de datos, escribe
deleteen el campo y, luego, haz clic en Borrar.
SQL
Para borrar un conjunto de datos, usa elDROP SCHEMAde la declaración DDL.
En el siguiente ejemplo, se borra un conjunto de datos llamado mydataset:
En la consola de Cloud de Confiance , ve a la página BigQuery.
En el editor de consultas, escribe la siguiente sentencia:
DROP SCHEMA IF EXISTS mydataset;
De forma predeterminada, esto solo funciona para borrar un conjunto de datos vacío. Para borrar un conjunto de datos y todo su contenido, usa la palabra clave
CASCADE:DROP SCHEMA IF EXISTS mydataset CASCADE;
Haz clic en Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
bq
Usa el comando bq rm con la marca --dataset o -d, que es opcional.
Si tu conjunto de datos contiene tablas, debes usar la marca -r para quitar todas las tablas del conjunto de datos. Si usas la marca -r, puedes omitir la marca --dataset o -d.
Después de ejecutar el comando, el sistema te pedirá que confirmes la acción. Puedes usar la marca -f para omitir la confirmación.
Si borras una tabla en un proyecto que no sea tu proyecto predeterminado, agrega el ID del proyecto al nombre del conjunto de datos en el siguiente formato: PROJECT_ID:DATASET.
bq rm -r -f -d PROJECT_ID:DATASET
Reemplaza lo siguiente:
PROJECT_ID: El ID de tu proyectoDATASET: Es el nombre del conjunto de datos que borrarás.
Ejemplos:
Ingresa el siguiente comando para quitar un conjunto de datos llamado mydataset y todas las tablas que contiene de tu proyecto predeterminado. El comando usa la marca -d.
bq rm -r -d mydataset
Cuando se te solicite, escribe y y presione Entrar.
Ingresa el siguiente comando para quitar mydataset y todas las tablas que contiene de myotherproject. El comando no usa la marca -d opcional.
La marca -f se usa para omitir la confirmación.
bq rm -r -f myotherproject:mydataset
Puedes usar el comando bq ls para confirmar que se borró el conjunto de datos.
API
Llama al método datasets.delete a fin de borrar el conjunto de datos y establece el parámetro deleteContents en true para borrar las tablas que contiene.
C#
En el siguiente muestra de código, se borra un conjunto de datos vacío.
Antes de probar este ejemplo, sigue las instrucciones de configuración para C# incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para C#.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Antes de ejecutar muestras de código, configura la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Luego, crea una configuración de transferencia para copiar el conjunto de datos.
En el siguiente muestra de código, se borra un conjunto de datos y todo su contenido:
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. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Antes de ejecutar muestras de código, configura la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Luego, crea una configuración de transferencia para copiar el conjunto de datos.
Java
En el siguiente muestra de código, se borra un conjunto de datos vacío.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Antes de ejecutar muestras de código, configura la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Luego, crea una configuración de transferencia para copiar el conjunto de datos.
En el siguiente muestra de código, se borra un conjunto de datos y todo su contenido:
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. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Antes de ejecutar muestras de código, configura la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Luego, crea una configuración de transferencia para copiar el conjunto de datos.
PHP
Antes de probar este ejemplo, sigue las instrucciones de configuración para PHP incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para PHP.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Antes de ejecutar muestras de código, configura la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Luego, crea una configuración de transferencia para copiar el conjunto de datos.
Python
Antes de probar este ejemplo, 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. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Antes de ejecutar muestras de código, configura la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Luego, crea una configuración de transferencia para copiar el conjunto de datos.
Ruby
En el siguiente muestra de código, se borra un conjunto de datos vacío.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Ruby incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Ruby.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Antes de ejecutar muestras de código, configura la variable de entorno GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Luego, crea una configuración de transferencia para copiar el conjunto de datos.
En el siguiente muestra de código, se borra un conjunto de datos y todo su contenido:
Restablece tablas de conjuntos de datos borrados
Puedes restablecer tablas a partir de un conjunto de datos borrado que se encuentran dentro del período de viaje en el tiempo del conjunto de datos. Para restablecer todo el conjunto de datos, consulta Cómo restablecer conjuntos de datos borrados.
- Crea un conjunto de datos con el mismo nombre y en la misma ubicación que el original.
- Elige una marca de tiempo anterior a la eliminación del conjunto de datos original mediante un formato de milisegundos desde la época, por ejemplo,
1418864998000. Copia la tabla
originaldataset.table1en el momento1418864998000en el nuevo conjunto de datos:bq cp originaldataset.table1@1418864998000 mydataset.mytable
Para encontrar los nombres de las tablas no vacías que se encontraban en el conjunto de datos borrado, consulta la vista
INFORMATION_SCHEMA.TABLE_STORAGEdel conjunto de datos dentro del período de viaje en el tiempo.
Restablece los conjuntos de datos borrados
Para obtener información sobre cómo restablecer (o recuperar) un conjunto de datos borrado, consulta Cómo restablecer conjuntos de datos borrados.
Cuotas
Para obtener información sobre las cuotas de copia, consulta Trabajos de copia.
El uso de los trabajos de copia está disponible en INFORMATION_SCHEMA. Para obtener información sobre cómo consultar la vista INFORMATION_SCHEMA.JOBS, consulta Vista JOBS.
Precios
Para obtener información sobre los precios de la copia de conjuntos de datos, consulta Precios de replicación de datos.
BigQuery envía datos comprimidos para copiar entre regiones, por lo que la cantidad de datos facturados puede ser menor que el tamaño real de tu conjunto de datos. Para obtener más información, consulte los Precios de BigQuery.
¿Qué sigue?
- Obtén información sobre cómo crear conjuntos de datos.
- Obtén más información para actualizar conjuntos de datos.