En este módulo, aprenderás cómo gestionar conjuntos de datos y tablas en BigQuery. La gestión eficiente de estos elementos es crucial para mantener un entorno de datos organizado y optimizado. Cubriremos desde la creación y modificación de conjuntos de datos y tablas hasta la eliminación y recuperación de datos.

  1. Introducción a Conjuntos de Datos y Tablas

Conjuntos de Datos

  • Definición: Un conjunto de datos en BigQuery es un contenedor lógico que agrupa una colección de tablas.
  • Propósito: Facilita la organización y el control de acceso a las tablas.
  • Estructura: Cada conjunto de datos pertenece a un proyecto y tiene un nombre único dentro de ese proyecto.

Tablas

  • Definición: Una tabla es una estructura que almacena datos en filas y columnas.
  • Tipos de Tablas:
    • Tablas Nativas: Almacenan datos directamente en BigQuery.
    • Tablas Externas: Referencian datos almacenados fuera de BigQuery, como en Google Cloud Storage.

  1. Creación de Conjuntos de Datos

Usando la Consola de BigQuery

  1. Navega a BigQuery en la consola de Google Cloud.
  2. Selecciona tu proyecto.
  3. Haz clic en "Crear conjunto de datos".
  4. Configura los detalles del conjunto de datos:
    • ID del conjunto de datos: Nombre único dentro del proyecto.
    • Ubicación de los datos: Región donde se almacenarán los datos.
    • Configuraciones avanzadas: Opciones como la expiración predeterminada de tablas y etiquetas.

Usando SQL

CREATE SCHEMA my_dataset
OPTIONS(
  location="US"
);
  • Explicación: Este comando crea un conjunto de datos llamado my_dataset en la región US.

  1. Creación de Tablas

Usando la Consola de BigQuery

  1. Selecciona el conjunto de datos donde deseas crear la tabla.
  2. Haz clic en "Crear tabla".
  3. Configura los detalles de la tabla:
    • Nombre de la tabla: Nombre único dentro del conjunto de datos.
    • Esquema de la tabla: Definición de las columnas y sus tipos de datos.
    • Opciones de particionamiento y agrupamiento: Configuraciones para optimizar el rendimiento.

Usando SQL

CREATE TABLE my_dataset.my_table (
  id INT64,
  name STRING,
  created_at TIMESTAMP
);
  • Explicación: Este comando crea una tabla llamada my_table en el conjunto de datos my_dataset con tres columnas: id, name y created_at.

  1. Modificación de Tablas

Agregar Columnas

ALTER TABLE my_dataset.my_table
ADD COLUMN email STRING;
  • Explicación: Este comando agrega una nueva columna email de tipo STRING a la tabla my_table.

Cambiar el Tipo de Datos de una Columna

ALTER TABLE my_dataset.my_table
ALTER COLUMN name SET DATA TYPE BYTES;
  • Explicación: Este comando cambia el tipo de datos de la columna name a BYTES.

  1. Eliminación de Conjuntos de Datos y Tablas

Eliminación de Tablas

DROP TABLE my_dataset.my_table;
  • Explicación: Este comando elimina la tabla my_table del conjunto de datos my_dataset.

Eliminación de Conjuntos de Datos

DROP SCHEMA my_dataset CASCADE;
  • Explicación: Este comando elimina el conjunto de datos my_dataset y todas las tablas que contiene.

  1. Recuperación de Datos

Recuperación de Tablas Eliminadas

  • Nota: BigQuery permite recuperar tablas eliminadas dentro de un período de tiempo limitado (generalmente 7 días).
  • Comando:
-- Recuperar una tabla eliminada
RESTORE TABLE my_dataset.my_table
FROM SNAPSHOT AT TIMESTAMP '2023-01-01 00:00:00 UTC';
  • Explicación: Este comando restaura la tabla my_table a su estado en el momento especificado.

Ejercicios Prácticos

Ejercicio 1: Crear un Conjunto de Datos y una Tabla

  1. Crea un conjunto de datos llamado sales_data.
  2. Dentro de sales_data, crea una tabla llamada transactions con las siguientes columnas:
    • transaction_id (INT64)
    • customer_id (INT64)
    • amount (FLOAT64)
    • transaction_date (TIMESTAMP)

Solución

-- Crear conjunto de datos
CREATE SCHEMA sales_data
OPTIONS(
  location="US"
);

-- Crear tabla
CREATE TABLE sales_data.transactions (
  transaction_id INT64,
  customer_id INT64,
  amount FLOAT64,
  transaction_date TIMESTAMP
);

Ejercicio 2: Modificar una Tabla

  1. Agrega una columna status de tipo STRING a la tabla transactions.
  2. Cambia el tipo de datos de la columna amount a NUMERIC.

Solución

-- Agregar columna
ALTER TABLE sales_data.transactions
ADD COLUMN status STRING;

-- Cambiar tipo de datos
ALTER TABLE sales_data.transactions
ALTER COLUMN amount SET DATA TYPE NUMERIC;

Conclusión

En esta sección, hemos cubierto cómo gestionar conjuntos de datos y tablas en BigQuery, desde su creación hasta su eliminación y recuperación. Estos conocimientos son fundamentales para mantener un entorno de datos organizado y eficiente. En el próximo módulo, exploraremos técnicas avanzadas de optimización del rendimiento en BigQuery.

Curso de BigQuery

Módulo 1: Introducción a BigQuery

Módulo 2: SQL Básico en BigQuery

Módulo 3: SQL Intermedio en BigQuery

Módulo 4: SQL Avanzado en BigQuery

Módulo 5: Gestión de Datos en BigQuery

Módulo 6: Optimización del Rendimiento de BigQuery

Módulo 7: Seguridad y Cumplimiento en BigQuery

Módulo 8: Integración y Automatización de BigQuery

Módulo 9: Machine Learning en BigQuery (BQML)

Módulo 10: Casos de Uso de BigQuery en el Mundo Real

© Copyright 2024. Todos los derechos reservados