Fundamentos de ETL con Python
¿Qué es ETL?
ETL con Jupyter Notebook y Python
Cómo identificar y conectar fuentes de datos para ETL
Instalando Anaconda y Jupyter Notebooks
Quiz: Fundamentos de ETL con Python
Técnicas Efectivas de Transformación de Datos
Ingesta de Datos desde Archivos CSV
Ingesta de Datos desde Archivos Excel
Ingesta de Datos desde APIs
Ingesta de Datos desde Bases de Datos
Procesa datos con Pandas
Métricas de Calidad y Perfilado de Datos
Técnicas de Limpieza de Datos
Transformaciones y Filtrado Esencial de Datos
Agrupaciones y Resumen de Datos
Transformaciones Avanzadas
Quiz: Técnicas Efectivas de Transformación de Datos
Carga de Datos y Proyecto Final
Carga de Datos en Archivos CSV
Carga completa e Incremental en CSV
Particionado de datos en Python
Carga de Datos en Archivos Excel
Configuración de MySQL y Python para el Proyecto ETL
Planificación y Extracción de Datos desde MySQL
Transformación de datos con Python
Manejo de errores y buenas prácticas de ETL
Carga de datos en ETL
Ética y Privacidad en la Gestión de Datos.
Quiz: Carga de Datos y Proyecto Final
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El proceso de creación de una base de datos y sus tablas es crucial en el manejo de datos, especialmente cuando se trata de proyectos ETL (Extract, Transform, Load). En este ejercicio, hemos usado MySQL junto con Python para demostrar cómo se puede automatizar esta tarea.
Primero, verificamos si la base de datos existe y, si no es asÃ, la creamos. Usamos el siguiente comando SQL:
CREATE DATABASE IF NOT EXISTS Akila;
USE Akila;
Una vez creada la base de datos, procedemos a la creación de las tablas. Por ejemplo, la tabla actor transformado
con su llave primaria y campos personalizados:
CREATE TABLE IF NOT EXISTS actor_transformado (
actor_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
description TEXT
);
Esta tabla almacenará transformaciones hechas sobre nuestros datos de actores, especificando campos como first_name
y last_name
.
Para garantizar la integridad del proceso, Python ofrece herramientas que facilitan la conexión con bases de datos SQL, como MySQL Connector
y SQLAlchemy
. Aquà se explica cómo manejar estas operaciones en Python.
Conexión al servidor: Primeramente, establecemos la conexión al servidor de base de datos y creamos un cursor.
import mysql.connector
conn = mysql.connector.connect( host="tu_host", user="tu_usuario", password="tu_contraseña", database="Akila" ) cursor = conn.cursor()
Ejecutar las consultas: Tanto para crear la base de datos como las tablas, ejecutamos las consultas con el cursor.
cursor.execute("CREATE DATABASE IF NOT EXISTS Akila;") cursor.execute("USE Akila;") cursor.execute(""" CREATE TABLE IF NOT EXISTS actor_transformado ( actor_id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50), description TEXT ); """)
Confirmar cambios y cerrar conexión: Después de ejecutar las consultas, confirmamos los cambios y cerramos la conexión.
conn.commit() cursor.close() conn.close()
Una vez creadas las tablas, la carga de datos se realiza usando Pandas y SQLAlchemy. Este proceso recopila los datos, los transforma según necesidades y los guarda en las tablas SQL.
Conectar y cargar datos: Usamos pandas para leer y transformar datos, luego los cargamos a nuestras tablas con SQLAlchemy
.
from sqlalchemy import create_engine import pandas as pd
engine = create_engine('mysql+mysqlconnector://tu_usuario:tu_contraseña@tu_host/Akila') df = pd.DataFrame({ 'actor_id': [1, 2], 'first_name': ['John', 'Jane'], 'last_name': ['Doe', 'Doe'], 'description': ['Actor principal', 'Actor secundario'] }) df.to_sql('actor_transformado', engine, if_exists='replace', index=False)
Validar carga de datos: Validamos usando queries SQL para asegurar que los datos estén correctamente cargados.
query = "SELECT * FROM actor_transformado;" df_result = pd.read_sql(query, engine) print(df_result)
Este proceso muestra cómo utilizar la programación para gestionar bases de datos de manera eficiente. Además, al terminar el ejercicio, es una excelente práctica verificar manualmente los datos en MySQL para garantizar que todo esté en su lugar. ¿Has logrado ejecutar este proyecto? ¿Qué retos enfrentaste? ¡Cuéntanos en los comentarios para que podamos ayudarte! Sigue adelante, cada paso cuenta en tu proceso de aprendizaje.
Aportes 5
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?