A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

ETL

10/38
Recursos

ETL = Extract Transform Load

Extract: Es el proceso de lectura de datos de diversas fuentes

  • Base de datos
  • CRM
  • Archivos CSV
  • Datasets p煤blicos

Transform: En este momento cuando nosotros tenemos que transformar los datos, tenemos que identificar datos faltantes o datos err贸neos o una edad negativa. En esta etapa donde tenemos que identificar todos los problemas y solucionarlos.

  • Limpieza
  • Estructurado
  • Enriquecimiento.

Load: Una vez transformados debemos insertarlos en el data warehouse

  • Depende del tipo de soluci贸n que se haya escogido

Aportes 46

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Bastante bueno el marco te贸rico del curso hasta ahora. Por si alguien gusta, les dejo los apuntes del curso:

<h1>Curso de Ingenier铆a de Datos con Python</h1>

驴Que es la Ciencia e Ingenieria de Datos?

La Ciencia de Datos es la disciplina que se encarga de extraer conocimiento de los datos disponibles. Casi siempre cuando te realizas una pregunta sobre datos estas fuentes se encuentra escondidas, ocultas o de dif铆cil acceso. A nuestro alrededor hay datos en tu computadora, mesa, reloj, etc.

Los datos est谩n por todas partes.

La Ciencia de datos es multidisciplinaria. A diferencia de muchos otros 谩mbitos profesionales dentro del mundo de la tecnolog铆a, cuando hablamos de un cient铆fico de datos es una persona que sabe de matem谩ticas, ingenier铆a de software y sabe de negocios.

Se apoya en la Computer science, Matem谩ticas(Regresiones e Inferencias),

Tambi茅n se auxilia de:

  • Bases de Datos
    • SQL y NoSQL
  • An谩lisis de texto y procesamiento de lenguaje natural
  • An谩lisis de redes
  • Visualizaci贸n de datos
  • Machine learning e Inteligencia Artificial
  • An谩lisis de se帽ales digitales
  • An谩lisis de datos en la nube(Big Data)

Roles

Existen por lo menos tres diferentes roles para tener un pipeline completo de ciencia de datos. Este curso trata sobre el primer rol:

  • Data engineer

    • Se encarga de obtener los datos
    • Limpiarlos y estructurarlos para posterior an谩lisis
    • Crear pipelines de an谩lisis automatizado
    • Utilizaci贸n de herramientas en la nube
    • An谩lisis descriptivo de los datos.
  • Data scientist

    • Una vez tiene los datos se encarga de generar el an谩lisis matem谩tico de ellos
    • Encuentra las relaciones entre las variables, las correlaciones, las causas
    • Genera los modelos predictivos y prescriptivos.
  • Machine Learning engineer

    • Se encarga de llevar las predicciones a escala
    • Subirlos a la nube
    • En la nube, generar muchas predicciones
    • Se encarga de mantener la calidad del modelo.

Configuraci贸n del ambiente

Anaconda es una instalaci贸n de Python que ya trae preinstalado todos los paquetes necesarios para tu labor en la Ciencia de Datos, tiene m谩s de 1400 paquetes. Nos permite configurar ambientes virtuales para poder utilizar diferentes versiones de nuestros paquetes.

conda --version # para conocer la versin y saber que lo tenemos instalado
conda --help # nos da todos los comandos que podemos usar.
conda list # nos lista todos los paquetes que Anaconda instal贸.

Una buena pr谩ctica es generar un ambiente virtual por cada proyecto, los ambientes virtuales nos permiten generar varios proyectos con diferentes versiones de la librer铆a sin generarnos errores de compatibilidad. Tradicionalmente en Python se utiliza virtualenv.

conda create --name [nombre-del-proyecto] [librer铆as-a-usar]
conda create --name platzi-data beautifulsoup4 requests numpy pandas matplotlib yaml
source activate platzi-data # Para activar
source deactivate # Para salir

conda env list # nos muestra los ambientes virtuales que tenemos
conda remove --name [nombre-del-proyecto] --all # eliminar nuestro entorno virtual con todos nuestros paquetes

Jupyter Notebook

Algo interesante que tenemos con Anaconda es que nos trae Jupyter Notebooks.

Jupyter Notebooks es un entorno de programaci贸n en el cual podemos mezclar ejecuci贸n de c贸digo en vivo, visualizaciones y a帽adir markdown.

Para inicializar nuestro servidor de jupyter, escribimos en el command line: jupyter notebook.

Jupyter Notebook tiene diferentes tipos de celdas en las cuales podemos escribir c贸digo o markdown. Si queremos ejecutar nuestro c贸digo hacemos ctrl + enter y si queremos ejecutar y a帽adir una nueva celda shift + enter.

Jupyter Notebook tiene dos modalidades, la modalidad de edici贸n y navegaci贸n.

Tipos de datos

Los datos vienen en mucha formas y estas formas las podemos clasificar de diferentes maneras, permiti茅ndonos poder aplicar t茅cnicas distintas a cada uno de los tipos de datos.

Los primeros datos son los primitivos.

  • int,
  • str,
  • bool,
  • float,
  • hex,
  • oct,
  • datetime,
  • objetos especiales
from datetime import datetime

integer_type = 42
float_type = 3.14159
bool_type = False
hex_type = 0xff
oct_type = 0o23
today = datetime.now()
str_type = 'Jesus'

Tenemos clasificaciones ulteriores como:

  • Los datos estructurados: son los m谩s f谩ciles de acceder
    • Bases de datos
    • Data warehouses
  • Semi estructurados: son con los que podemos utilizar APIs
    • json API
    • Datos tabulares (csv, excel)
  • no estructurados: la mayor铆a de datos que vamos a tener disponibles est谩n clasificados aqu铆
    • HTML
    • Texto libre
    • Curr铆culums vitae
    • Im谩genes, audio, social media
    • Datos cient铆ficos
  • Cualitativos vs cuantitativos
  • Tiempo real vs hist贸ricos

Fuentes de datos

  • Web

Es una mina enorme con datos financieros, de startups, del clima, precipitaci贸n fluvial, astron贸micos, de negocios, etc.

  • APIs

Endpoints que viven en la web y nos devuelven JSON. Por ejemplo, la API de twitter, google, facebook.

  • User Analytics

Son el comportamiento del usuario dentro de nuestra aplicaciones, algo similiar a los que nos ofrece Google Analytics.

  • IoT

Se ha vuelto una mina espectacular en los 煤ltimos a帽os. Como autom贸viles.

<h3>Links de fuentes de datos</h3>

ETL (Extract Transform Load)

Extract: Es el proceso de lectura de datos de diversas fuentes

  • Base de datos
  • CRM
  • Archivos CSV
  • Datasets p煤blicos

Transform: En este momento cuando nosotros tenemos que transformar los datos, tenemos que identificar datos faltantes o datos err贸neos o una edad negativa. En esta etapa donde tenemos que identificar todos los problemas y solucionarlos.

  • Limpieza
  • Estructurado
  • Enriquecimiento.

Load: Una vez transformados debemos insertarlos en el data warehouse

  • Depende del tipo de soluci贸n que se haya escogido

En caso que quieran la versi贸n de Markdown para descargar, pueden tomarla de aqu铆

Saludos 馃憢

Un Datawarehouse es una base de datos corporativa que se caracteriza por integrar y depurar informaci贸n de una o m谩s fuentes distintas, para luego procesarla permitiendo su an谩lisis desde infinidad de pespectivas y con grandes velocidades de respuesta.

Dado que estoy aprendiendo desde cero muchos terminos, vi este video que me parecio 煤til, no s贸lo hablan de data warehouse sino de otros tipos como data lakes y data marts, pero tal vez simplificando mucho la info, se puede decir que son servidores o b谩sicamente unidades de almacenamiento como discos duros.

https://www.youtube.com/watch?v=LZ17kISv5Ag

Diferentes herramientas para hacer ETL con Python:

.
-馃敡 Apache Airflow

Los procesos ETL son un t茅rmino est谩ndar que se utiliza para referirse al movimiento y transformaci贸n de datos. Se trata del proceso que permite a las organizaciones mover datos desde m煤ltiples fuentes, reformatearlos y cargarlos en otra base de datos (denominada data mart o data warehouse) con el objeto de analizarlos. Tambi茅n pueden ser enviados a otro sistema operacional para apoyar un proceso de negocio.

Si no se entendi贸 muy bien el concepto de los data warehouses.

驴Qu茅 es un Data Warehouse?

Es el lugar donde almacenaremos los datos que iremos extrayendo.

Es Crucial tener un buen dise帽o de los data warehouse para explotar la informaci贸n.

Se componen por fragmentos derivados del data warehouse conocidos como DATAMARTS. A su vez esto datamarts tienen modelos conocidos como:
鈥 Estrella
鈥 Snowflake (copo de hielo)

La funcionalidad que cumplen los data Warehouses son de almacenar nuestros datos para tenerlos disponibles para el posterior analisis.

Algo para resaltar es que un data Warehouse no es:
鈥 Un software
鈥 Una marca
鈥 Una sola base de datos

Es decir, es una gran base de datos en general, compuesta (mayormente) por m谩s de una base de datos.
En general podemos 鈥渁bstaernos鈥 o enfocarnos de los modelos logicos y fisicos de la base de datos.

Algo para resaltar del data WareHouses es que debe ser un sistema capaz de ser adaptado a los cambios, ya que los cambios en el mundo de los negocios son muy volatiles (cambian muy seguido).

Adem谩s antes de formar un data_Warehouses es indispensable seleccionar la informaci贸n relevante que pueda aportar una utilidad a la empresa.



El cient铆fico de datos: un perfil multidisciplinario altamente especializado. 鈥 Concretamente, el cient铆fico de datos corresponde a un perfil profesional multidisciplinario, que cuenta con un nivel de estudios alto y que debe tener unas determinadas caracter铆sticas y habilidades.

Esto ya se empieza a poner interesante

que chido

Muy bien explicado.

馃叴馃唭馃吇 (Extract Transform Load)

  • 馃叴 Obtenemos datos de una fuente de datos
  • 馃唭 Los transformamos
  • 馃吇 Los insertamos con posterioridad en otro sistema que nos va a permitir responder las preguntas que los Data Scientists y los Machine Learning Engineers van a necesitar en el futuro

Super el Tema鈥 adelante鈥

excelente explicacion de etl.

Ahora si con el codigo

Muy buen tema y excelente explicaci贸n.

Hola, si les interesa lo del campo de biologia molecular / informatica NCBI es un lugar donde tambien se pueden encontrar datos interesantes para lo que es la ingenieria de datos

Cada vez mas ansioso por empezar con el codigo.-

Excelente inicio

Carambas! Me estoy emocionando que puedo echar chisme en la red

Excelente el proceso de los ETL

Muy buen modulo

interesante!

Incre铆ble me gusta mucho este curso

Excelente exposici贸n de ETL. Muchas gracias David

Awesome !!

Muy buena explicaci贸n de lo que es ETL.

para descargar la informacion de este curso:
https://github.com/platzi/platziData/archive/master.zip

entendido el proceso Extract Transform Load

Muuchas gracias profe, bien explicado

Fue un explicacion concreta y muy clara 馃槃

Podrian por favor compartir la imagen de ETL mostrada en este video? Es para el notebook que estoy creando del curso. Gracias!

Buena explicaci贸n.

Gracias.

Esta clase es m谩s 'sigue el codigo' que explicar, me recuerda al profesor de matematicas que obvia explicaciones y se dedica a realizar operaciones porque eso 'se supone que lo vieron en el ciclo pasado'.

Uno de los trabajos m谩s importantes del ingeniero de datos, es definir las estructuras de almacenamiento que necesitan los cient铆ficos de datos y entregarlos limpios y validados de acuerdo a las necesidades de los estudios.

El proceso de ETL es necesario el todo proceso de BI , ya sea con analisis services sql, o con herramientas que tiene inmersas esos procesos de ETL como Qlik sense que cuentan con su propio lenguaje.

https://www.talend.com/es/resources/what-is-etl/#:~:text=Extraer%2C transformar y cargar (ETL,centralizaci%C3%B3n%20en%20un%20%C3%BAnico%20repositorio.

[](

Buen resumen.

Claro que si, encontr茅, unas muy interesantes de amazon.

驴Qu茅 es un data warehouse?

Es un almac茅n de datos es una colecci贸n de datos orientada a un determinado 谩mbito, integrado, no vol谩til y variable en el tiempo, que ayuda a la toma de decisiones en la entidad en la que se utiliza.