Administra datos de tablas
En este documento, se describe cómo administrar datos de tablas en BigQuery. Puedes trabajar con datos de tablas de BigQuery de las siguientes maneras:
- Carga datos en una tabla
- Adjuntar datos de tablas o reemplazarlos
- Explorar datos de tablas (o bien, obtener una vista previa)
- Consultar datos de tablas
- Modificar datos de tablas con el uso del lenguaje de manipulación de datos (DML)
- Copiar datos de tablas
- Exportar datos de tablas
Si deseas obtener más información sobre cómo administrar esquemas de tablas, consulta Modifica esquemas de tablas.
Antes de comenzar
Otorga funciones que otorguen los permisos necesarios a los usuarios que necesitan realizar cada tarea en este documento. Los permisos necesarios (si hubiera) para realizar una tarea se enumeran en la sección “Permisos necesarios” de la tarea.
Cargar datos en una tabla
Puedes cargar datos cuando creas una tabla, o puedes crear una tabla vacía y cargar los datos más tarde. Cuando cargas datos, puedes usar la detección automática de esquemas para los formatos de datos admitidos o puedes especificar el esquema.
A fin de obtener más información sobre la carga de datos, consulta la documentación para el formato y la ubicación de tus datos de origen:
Para obtener más información sobre cómo cargar datos desde Cloud Storage, consulta lo siguiente:
Si deseas obtener más información para cargar datos desde una fuente local, consulta Carga datos desde archivos locales.
Adjunta y reemplaza datos de tablas
Puedes reemplazar los datos de las tablas mediante una operación de carga o consulta. Puedes agregar datos adicionales a una tabla existente; para ello, realiza una operación de adición de carga o agrega los resultados de la consulta a la tabla.
Si deseas obtener más información sobre cómo agregar o reemplazar una tabla cuando se cargan datos, consulta la documentación para el formato de datos de origen:
- Cómo anexar o reemplazar una tabla con datos de Avro
- Cómo anexar o reemplazar una tabla con datos CSV
- Cómo anexar o reemplazar una tabla con datos JSON
- Cómo anexar o reemplazar una tabla con datos de Parquet
- Cómo anexar o reemplazar una tabla con datos ORC
- Anexa datos de Datastore a una tabla o reemplaza sus datos
Para agregar o reemplazar una tabla mediante los resultados de la consulta, especifica una tabla de destino y configura la disposición de escritura en:
- Agregar a la tabla: Agrega los resultados de la consulta a una tabla existente.
- Reemplazar la tabla: reemplaza una tabla existente con el mismo nombre mediante los resultados de la consulta.
Puedes usar la siguiente consulta para agregar registros de una tabla a otra:
INSERT INTO. . ( , ) (SELECT * FROM . . )
Si deseas obtener más información sobre cómo usar los resultados de la consulta para anexar o reemplazar datos, consulta Escribe resultados de consultas.
Explora datos de la tabla
Puedes explorar los datos de tablas de las siguientes maneras:
- Usa la consola de Google Cloud
- Usa el comando
bq head
de la herramienta de línea de comandos de bq - Llamar al método de la API
tabledata.list
- Con las bibliotecas cliente
Permisos necesarios
Para explorar datos de tablas y particiones, necesitas el permiso de administración de identidades y accesos (IAM) bigquery.tables.getData
.
Cada una de las siguientes funciones predefinidas de IAM incluye los permisos que necesitas para explorar los datos de la tabla y la partición:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Si tienes el permiso bigquery.datasets.create
, puedes explorar los datos de las tablas y particiones de los conjuntos de datos que crees.
Para obtener más información sobre las funciones y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Explora datos de la tabla
Para explorar datos de tablas:
Console
En la consola de Google Cloud, abre la página de BigQuery.
En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.
Haz clic en una tabla de la lista.
Haz clic en Detalles y anota el valor de Número de filas. Es posible que necesites este valor para controlar el punto de partida de tus resultados mediante la herramienta de línea de comandos de bq o la API.
Haz clic en Vista previa. Verás un conjunto de datos de muestra.
Línea de comandos
Emite el comando bq head
con la marca --max_rows
para enumerar todas las columnas en una cantidad determinada de filas de la tabla. Si no se especifica --max_rows
, el valor predeterminado es 100.
Para explorar un subconjunto de columnas en la tabla (incluidas las columnas anidadas y repetidas), usa la marca --selected_fields
y, luego, ingresa las columnas como una lista separada por comas.
Para especificar la cantidad de filas que se deben omitir antes de mostrar los datos de la tabla, usa la marca --start_row=integer
(o la combinación de teclas -s
). El valor predeterminado es 0
. Puedes recuperar la cantidad de filas de una tabla si usas el comando bq show
para recuperar la información de la tabla.
Si la tabla que exploras está en un proyecto que no es el predeterminado, debes agregar el ID del proyecto al comando con el formato siguiente: project_id:dataset.table
.
bq head \ --max_rows integer1 \ --start_row integer2 \ --selected_fields "columns" \ project_id:dataset.table
En el ejemplo anterior, se ilustra lo siguiente:
- integer1 es el número de filas para mostrar.
- integer2 es el número de filas que se deben omitir antes de mostrar los datos.
- columns es una lista de columnas separadas por comas.
- project_id es el ID del proyecto.
- dataset es el nombre del conjunto de datos que contiene la tabla.
- table es el nombre de la tabla que se explorará.
Ejemplos:
Ingresa el siguiente comando para enumerar todas las columnas de las primeras 10 filas de mydataset.mytable
. mydataset
está en tu proyecto predeterminado.
bq head --max_rows=10 mydataset.mytable
Ingresa el siguiente comando para enumerar todas las columnas de las primeras 100 filas de mydataset.mytable
. mydataset
se encuentra en myotherproject
, no en el proyecto predeterminado.
bq head myotherproject:mydataset.mytable
Ingresa el siguiente comando para mostrar solo field1
y field2
en mydataset.mytable
. El comando usa la marca --start_row
para saltar a la fila 100.
mydataset.mytable
está en tu proyecto predeterminado.
bq head --start_row 100 --selected_fields "field1,field2" mydataset.mytable
Debido a que el comando bq head
no crea un trabajo de consulta, los comandos bq head
no aparecen en tu historial de consultas y no se te cobra por ellos.
API
Explora los datos de una tabla mediante una llamada a tabledata.list
.
Especifica el nombre de la tabla en el parámetro tableId
.
Configura estos parámetros opcionales para controlar la salida:
maxResults
: cantidad máxima de resultados que se mostraránselectedFields
: lista de columnas separadas por comas que se mostrará; si no se especifica, se mostrarán todas las columnasstartIndex
: índice basado en cero de la primera fila que debe leerse
Los valores se muestran unidos en un objeto JSON que debes analizar, como se describe en la documentación de referencia de tabledata.list
.
C#
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.
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.
Las bibliotecas cliente de Google Cloud para Go se paginan automáticamente de forma predeterminada, por lo que no necesitas implementarla. Por ejemplo:
Java
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.
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.
La biblioteca cliente de Google Cloud para Node.js se pagina de forma automática según la configuración predeterminada, por lo que no necesitas implementarla por tu cuenta, por ejemplo:
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.
La paginación se realiza de forma automática en las Bibliotecas cliente de Cloud para PHP mediante la función de generador rows
, que recupera la siguiente página de resultados durante la iteración.
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.
Ruby
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.
La paginación se realiza de forma automática en las Bibliotecas cliente de Cloud para Ruby mediante Table#data
y Data#next
.
Consulta datos de tablas
Después de cargar tus datos en BigQuery, puedes consultar los datos mediante uno de los siguientes tipos de trabajos de consultas:
- Trabajos de consultas interactivas. De manera predeterminada, BigQuery ejecuta trabajos de consultas interactivas (a pedido) lo antes posible.
- Trabajos de consultas Batch. Con estos trabajos, BigQuery pone en cola cada consulta por lotes en tu nombre y, luego, inicia la consulta cuando los recursos inactivos están disponibles, por lo general, en el plazo de unos minutos.
Puedes ejecutar trabajos de consultas interactivas o por lotes con los siguientes métodos:
- Redacta y ejecuta una consulta en la consola de Google Cloud.
- Ejecuta el comando
bq query
en la herramienta de línea de comandos de bq. - Llama de manera programática al método
jobs.query
ojobs.insert
en la API de REST de BigQuery. - Usa las bibliotecas cliente de BigQuery.
Si deseas obtener más información sobre cómo consultar las tablas de BigQuery, revisa Descripción general de consultas de datos de BigQuery.
Además de consultar los datos almacenados en las tablas de BigQuery, puedes consultar los datos almacenados externamente. Para obtener más información, consulta Introducción a las fuentes de datos externas.
Modifica los datos de tablas
Puedes modificar los datos de una tabla mediante declaraciones de lenguaje de manipulación de datos (DML) en SQL. Las declaraciones DML te permiten actualizar, combinar, insertar y borrar filas en tablas. Para obtener una referencia de la sintaxis y ejemplos de cada tipo de declaración DML, consulta Declaraciones de lenguaje de manipulación de datos en GoogleSQL.
El dialecto SQL heredado no admite Declaraciones DML. Para actualizar o borrar datos con SQL heredado, debes borrar la tabla y, a continuación, volver a crearla con datos nuevos. También puedes escribir una consulta que modifique los datos y escribir los resultados de la consulta en una tabla de destino nueva.
Cómo copiar los datos de tablas
Puedes copiar una tabla de las maneras siguientes:
- Usa la consola de Google Cloud
- Usar el comando
bq cp
de la herramienta de línea de comandos de bq - Con una llamada al método de la API
jobs.insert
y la configuración de un trabajo de copia - Usa bibliotecas cliente.
Para obtener más información sobre cómo copiar tablas, consulta Copia una tabla.
Exporta datos de tablas
Puedes exportar datos de tablas a un bucket de Cloud Storage en formato CSV, JSON, Avro o Parquet (Vista previa). No se admite la exportación a tu máquina local. Sin embargo, puedes descargar y guardar los resultados de las consultas mediante la consola de Google Cloud.
Para obtener más información, consulta Exporta datos de tabla.
Seguridad de las tablas
Para controlar el acceso a las tablas en BigQuery, consulta Introducción a los controles de acceso a tablas.
¿Qué sigue?
- Si deseas obtener más información sobre cómo cargar datos, consulta Introducción a la carga de datos en BigQuery.
- Si deseas obtener más información sobre cómo consultar datos, consulta Descripción general de consultas de datos de BigQuery.
- Si deseas obtener más información sobre cómo modificar los esquemas de las tablas, consulta Modifica esquemas de tablas.
- Si deseas obtener más información sobre cómo crear y usar tablas, consulta Crea y usa tablas.
- Si deseas obtener más información sobre cómo administrar tablas, consulta Administra tablas.