0% encontró este documento útil (0 votos)
11 vistas38 páginas

Python para Procesos ETL en Data Engineering

Este documento presenta una sesión introductoria sobre Python esencial para ETL. Juan Salinas será el instructor. Se describen las reglas de la sesión, como la puntualidad y el uso de micrófonos. El itinerario incluye presentaciones, desarrollo de clases y pausas. La evaluación consta de asistencia, trabajos y un examen final. Los objetivos son aprender Python para ETL y dominar sus procesos. Se explica por qué Python es útil para ETL y qué es ETL. Finalmente, se introducen conceptos básicos de

Cargado por

Wilfredo Huaira
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas38 páginas

Python para Procesos ETL en Data Engineering

Este documento presenta una sesión introductoria sobre Python esencial para ETL. Juan Salinas será el instructor. Se describen las reglas de la sesión, como la puntualidad y el uso de micrófonos. El itinerario incluye presentaciones, desarrollo de clases y pausas. La evaluación consta de asistencia, trabajos y un examen final. Los objetivos son aprender Python para ETL y dominar sus procesos. Se explica por qué Python es útil para ETL y qué es ETL. Finalmente, se introducen conceptos básicos de

Cargado por

Wilfredo Huaira
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Python Essentials for ETL

SESIÓN I

Docente: Juan Salinas


PERFIL PROFESIONAL
ü Profesional de la carrera de Ingeniería de Sistemas

ü Candidato a Magister en Administración de Empresas


MBA – Universidad Autónoma del Perú
ü + 7 años de experiencia en áreas de Business
Intelligence, Big Data, Software Factory y consultoras
de TI a nivel nacional y extranjero.

Juan Miguel Salinas Ponce


Senior Data Engineer at Encora Inc.
[Link]
REGLAS

Se requiere puntualidad para un mejor desarrollo del curso.

Para una mayor concentración mantener silenciado el micrófono durante la


sesión.

Las preguntas se realizarán a través del chat y en caso de que lo requieran


podrán activar el micrófono.

Realizar las actividades y/otareasencomendadas en los plazos determinados.

Identificarse en la sala Zoom con el primer nombre y primer apellido.


ITINERARIO
Lunes y
Miercoles
07:30 PM – 07:40 PM Presentación - Preguntas clase anterior
07:40 PM – 09:00 PM Desarrollo de clase
09:00 PM – 09:10 PM Pausa Activa*
09:10 PM – 10:30 PM Desarrollo de clase

Horario de Atención Área Académica y Soporte

Lunes a Viernes 09:00 am a 10:30 pm / Sábado 09:00 am a 02:00pm


EVALUACIÓN

Asistencia (Curso): mínimo 80% sesiones para


recibir la certificación

Trabajo Exámen Final


+
(50%) (50%)
OBJETIVO

General:
• Aprender a utilizar el lenguaje Python para el desarrollo de procesos
ETL.
Específicos:
• Dominar Python como lenguaje de programación.
• Entender y poner en práctica el desarrollo de procesos ETL utilizando
Python.
¿Por qué Python?
¿Por qué Python?
• Es extremadamente versátil, con multiples usos: Data Mining, Data Science,
AI, Machine Learning, Web Development, Web Scraping, Web Frameworks,

• Es el lenguaje de programación que esta en mayor crecimiento.
• Tiene una gran demanda de empleabilidad.
• Es muy fácil de leer, escribir y aprender.
• Tiene una gran comunidad

[Link]
¿Qué es ETL?
• Es un método para la extracción, transformación y carga de datos (Extract,
Transform and Load).

• Se ha utilizado tradicionalmente en las organizaciones para combinar datos


de distintas fuentes en una sola base, almacén o lago de datos

[Link]
Herramientas ETL
Azure DataFactory

AWZ Glue

Google Cloud Data Fusion

Oracle Data Integrator

IBM InfoSphere DataStage


Python para ETL
• Nos da mayor control de nuestro proceso
• Requiere conocer Python a profundidad
• Gran comunidad para soporte
• Existen librerías de python diseñadas para ETL:
Petl, Pandas, Mara, Airflow, Pyspark, Bonobo, Luigi, Odo
Herramientas para ETL con Python
PYETL Airflow
Pandas Mara
(Python ETL) (Apache Airflow)

Básico, no ofrece análisis de datos, De las mas populares librerías, usa Ofrece interfaz de usuario web para Herramienta de orquestación,
problemas de performance. dataframes, ofrece funciones de visualizar ejecución de ETL utilizado para crear, programar y
visualización y análisis de datos. monitorear flujos de trabajo.

PySpark Bonobo Luigi Odo

ODO

Versión de Spark que se ejecuta en Usa concepto de gráficos para Herramienta sofisticada, tiene Herramienta de python para
Python, soporta data-streaming, crear ETLs, soporta procesamiento herramientas para crear complejos convertir datos de un formato a
SQL, Mlib, y procesamiento de paralelo y tiene interfaz visual. ETL. Viene con dashboard para otro. Gran rendimiento a cargar
gráficos (Graph X) hacer seguimiento de ETL creados. datasets CSV.

[Link]
Python
Introducción a Python

Tipos de datos en Python

Creación de programas en Python

Interactuando con el OS

POO en Python
Introducción a Python

Tipos de datos en Python

Creación de programas en Python

Interactuando con el OS

POO en Python
Introducción a Python
• Variables
• Trabajando con cadenas
• Función Print
• Booleanos y condicionales
• Loops
• Funciones
• Otros (Manejo de excepciones, Range, List Comprehension, Instrucciones:
Pass, Continue, break)
Variables
• Una variable es utilizada para almacenar información que será
utilizada mas adelante
Declaración de variables Utilizando el signo ‘=‘. Ejemplo:
monto_deuda = 2500
moneda = ‘Soles’
Interactuando con el usuario Utilizando input(), para almacenar en una variable:
monto_interes = input(‘Ingrese el dato’)
Operando con variables Se pueden utilizar los signos: +, -, *, **, /
dependiendo del tipo de variable.
resultado = monto_deuda + monto_interes
4 * monto_deuda
Obtener el tipo de variable Es posible a partir de la función type():
type(monto_deuda), type(moneda)
Cambiando el tipo de variable Cambio a String: str(monto_deuda)
Cambio a Integer: int(‘2500’)
Trabajando con cadenas
• Es un tipo de datos para almacenar y utilizar textos en python.
Concatenando Strings Se utiliza el operador + : ’a’ + ‘b’
Para utilizar alguna dentro de la otra:
Uso de comillas simples y - “It’s a string with a single quote”
dobles - ‘It\’s a string with a single quote’
Para utilizar dentro del texto comillas simples y dobles:
Uso de comillas triples - “””He said: “Hello, I’ve got a question” from the audience“”””
Permite poner la primera letra en mayúsculas. Ejemplo:
Método capitalize
‘hello world’.capitalize()
Permite poner el texto en mayúsculas. Ejemplo:
Método upper
‘hello world’.capitalize()
Permite poner el texto en minúsculas. Ejemplo:
Método lower
‘hello world’.lower()
Permite poner el texto en formato título (Primeras letras de cada
Método title palabra en mayúsculas, las demás en minúsculas. Ejemplo:
‘hello world’.title()
Permite contar apariciones de un texto dentro de su cadena.
Método count
Ejemplo: ‘hello world’.count(‘l’)
Función len Permite obtener la cantidad de caracteres en un string: len(‘Hello’)
Permite dividir un string de acuerdo a determinado valor. Por defecto
Método split
se considera espacio. Ejemplo: ‘Hello World’.split()
Permite remover determinados valores de los extremos de un string.
Método strip
Ejemplo: ‘(Hello Worl), ‘.strip(‘(), ‘)
Permite reemplazar parte de un string por otro. Ejemplo:
Método replace
‘Hello World’.replace(‘Hello’, ‘Hi’)
Permite obtener la posición inicial de una parte de un string.
Método index
‘Hello World’.index(‘o’)
Permite obtener partes de un string en base a su indice. Ejemplos:
‘Hello World’[0] (Resultado: ‘H’)
Partes de una string
‘Hello World’[-2] (Resultado: ‘l’)
‘Hello World’[0:5] (Resultado: ‘Hello’)
Invirtiendo un string Hello World’[::-1] (Resultado: ‘dlroW olleH’)
Se pueden utilizar varios métodos en un string. Ejemplo:
Llamadas en cadena ‘(Hello Worl), ‘.strip(‘(), ‘).upper().split() (Resultado: [‘HELLO’,
‘WORLD’}
Forma sencilla para crear in string a partir de otro string y variables.
Python f-string Ejemplo: nombre = ‘Angel’, edad = ’32'
f’Mi nombre es {nombre}, y mi edad es {edad}’
Función Print
• Permite mostrar texto en nuestra pantalla

print(‘Hola Mundo’) Resultado: Hola Mundo


print(type(‘Hola Mundo’) Resultado: <class ‘str’>
print(type(5)) Resultado: <class ‘int’>
print(‘Mi nombre es’, nombre) Resultado: Mi nombre es Angel (nombre = ‘Angel’)
print(f’Mi nombre es {nombre}’) Resultado: Mi nombre es Angel (nombre = ‘Angel’)
print('Los datos de mi mascota Resultado: Los datos de mi mascota son:
son:\nNombre \t: Sugar\nRaza \t: Nombre. : Sugar
Sharpei\nColor\t: Marron') Raza. : Sharpei
Color. : Marron
print(r'Los datos de mi mascota Resultado:
son:\nNombre \t: Sugar\nRaza \t: Los datos de mi mascota son:\nNombre \t: Sugar\nRaza \t:
Sharpei\nColor\t: Marron') Sharpei\nColor\t: Marron
Booleanos y Condicionales
• Un booleano es el tipo de dato más simple. Puede tomar el valor de
Verdadero o Falso. Los booleanos, en combinación con los operadores
booleanos, nos permite crear programas condicionales.
Booleanos - Equivalencias
Valor Función Resultado
Valor vacío bool() False
Texto vacío bool(‘’) False
Espacio bool(‘ ‘) True
Lista vacía bool([]) False
Diccionario vacío bool({}) False
Cero bool(0) False
Uno bool(1) True
Texto bool(‘Hola’) True
Lista con dato bool([‘Hola’]) True
Operadores Booleanos
Operadores de comparación
Operadores lógicos
Signo Descripción Ejemplo
Signo Descripción Ejemplo
2 > 1: True
> Mayor que ‘a’ > ‘b’: False not True: False
not Negación
not False: True
2 < 1: False
< Menor que
‘a’ < ‘b’: True True and True: True
and Conjunción True and False: False
<= Mayor o igual que 2 >= 1: True False and False: False
<= Menor o igual que 2 <= 1: False True or True: True
== Igual 2 == 2: True or Disyuncion True or False: True
False or False: False
!= Diferente 2 != 2: False
Loops: For loop y While loop
• Permite repetir pedazos de código.
for - loop
while - loop

En un string

En una lista

Utilizando
enumerate
Funciones
• Una función es una sección con un nombre de un programa que realiza
una tarea específica y, opcionalmente, devuelve un valor.

Ventajas de utilizar una función


• Reutilizar código
• Permite utilizar parámetros
• Retorna valores
Built - in functions
• Son funciones que ya existen en Python

Ejemplos:
• print: Muestra un texto en consola (No retorna un valor)
• len: Retorna la cantidad de elementos de un tipo de dato (Caracteres en
un texto, elementos en una lista)
Creando funciones
• Las funciones se crean agregando la palabra reservada def seguido del
nombre de la función. Esta puede contener parámetros y opcionalmente
puede retornar un valor.
Ejemplos:
Otros: Manejo de excepciones
Excepciones:
• Una excepción es una condición que surge durante la ejecución de un
programa. Es una señal de que sucedió algo inesperado.
Nomenclatura:
Excepciones comunes
Nombre de la Ejemplo: Situación que genera la
excepción Cuándo la encontramos excepción ¿Cómo manejamos la excepción?

Ocurre cuando un valor no está


NameError
definido

Surge cuando una llave no es


KeyError
encontrada en un diccionario.

Ocurre cuando un indice esta


IndexError
fuera del rango
Excepciones - Mejores prácticas
• No se recomienda
dejar el except en
blanco.
• Para mayor detalle,
se recomienda
guardar la excepción
en una variable.
Excepciones - Ejemplo completo
• Múltiples except Resultados
Excepciones - Ejemplo completo
• Un except, multiples exceptions Resultados
Range
• Es una función de Python que permite crear una secuencia de números.
Generalmente es utilizado en combinación con for - loops.
Para visualizar el range, podemos agregarlos en una
lista.
Función Range Descripción
Genera una secuencia desde 0 hasta
range(stop)
antes de stop
Genera una secuencia desde start hasta
range(start, stop)
antes de stop
Genera una secuencia desde start hasta
range(start, stop, step)
antes de stop, incrementando en step
List Comprehension
• Permite crear una lista de Python basado en una lista existente.
Instrucciones: pass, continue, break
Pass:
• No hace nada, utilizado para forzar la no realización de una acción o dejar
en evidencia un código a crear
Instrucciones: pass, continue, break
Continue:
• Permite detenerse en un punto y continuar con la siguiente iteración

Nótese que no se está


imprimiendo el número 2
Instrucciones: pass, continue, break
Break:
• Utilizado para salir del loop actual

Nótese que sólo se ha imprimido


hasta el número 1

También podría gustarte