Skip to content

Alkemy callenge analisis de datos: el proyecto consiste en la obtencion de informacion, procesamiento y carga a un servidor postgresql

Notifications You must be signed in to change notification settings

Jeremy3355/Alkemy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Alkemy Challenge

Descripcion

Alkemy callenge analisis de datos: el proyecto consiste en la obtencion de informacion, procesamiento y carga de la misma a un servidor postgresql

Requisistos previos

Previo a la ejecucion del archivo .py debemos crear una un enotorno virtual de python con la libreria venv, cual se encuentra preinstalada en python, e instalar postgresql.

Generacion del entorno virtual

  • Abrir el cmd
  • Buscar la localizacion donde queremos crear el entorno virtual. Para ello navegaremos con el comando cd. Con el tab podemos ver los ficheros que se encuentran en ese directorio.

Ej:

C:\Usuarios\Usuario\>cd Escritorio
  • Creamos el envorno virtual con el siguente comando:
C:\Usuarios\Usuario\Escritorio\>python -m venv nombre_del_entorno

En el campo nombre_del_entorno se colocal en nombre que va a tener la carpeta del entorno virtual

Por el momento no es necesario activar el enorno virtual.

Instalacion de postgresql

Como base de datos vamos a estar usando postgresql. Para su descarga vamos a ir a la sigeunte pagina https://www.postgresql.org/download/

  • Al entrar al link nos encontraremos con la siguente pagina donde seleccionaremos el sistema operativo que tengamos.

  • Luego de seleccionar el sistema operativo, haremos clik en Download the installer.

  • Elegimos la veersion que mejor se ajuste a nuestro sistema. A modo de recomendacion, lo mejor es no usar la ultima version.

  • Usando el instalador procedemos con la instalacion del programa. Durante el proceso, nos pedira crear una contraseña por seguridad de la base de datos.

Instalacion de librerias

El proyecto utiliza las sigeunte librerias:

  • sqlalchemy
  • sqlalchemy_utils
  • psycopg2
  • pandas
  • python-decouple
  • requests
  • os
  • glob
  • sys
  • logging

De las cuales requests, os, glob, sys y logging son nativas de python.

Para proceder con la insatalacion de las librerias, antes iniciaremos el entorno virtual previamente creado de la siguente forma:

  • En el cmd buscaremos la carpeta donde previmente creamos el entorno virtual haceindo uso del comando cd.
  • Una vez encontrada la carpeta, entraremos en ella y a su vez en la carpeta Script.
  • Dentro de Script ejecutaremos el archivo activar.bat. De la misma manera que para ver los ficheros dentro de un directorio, podemos usarlo para navegar entre los archivos que se encuentran en el. Ej:
C:\Usuarios\Usuario\Escritorio\nombre_del_entorno\Script\>activar.bat

De esta manera se nos ejecutara el cmd con el entorno virtual del python. Nos aparecera esto:

(nombre_del_entorno) C:\Usuarios\Usuario\Escritorio\nombre_del_entorno\Script\>

Una vez iniciado, instalaremos las librerias con el siguente comando:

pip install `nombre de la libreria`

Debemos repetir este comando para cada libreria que no sea nativa de python.

Para desactivar el entorno virtual simplemente debemos ir al mismo directorio en donde se enceuntra activar.bat y ejecutamos desactivar.bat.

Setup del proyecto

Descargaremos le archivo creacion_de_tablas.sql y la carpeta src y los guardaremos en una nueva carpeta (el nombre es indiferente) dentro del entorno virtual para tener una mejor organizacion.

Configuracion de informacion sensibles

La informacion sensible, como las claves de conexion a la base de datos, seran guardadas en un archivo .env. Tambien se gurdaran variables de configuracion para facilitar el deploy.

Dentro de la carpeta donde se encuentra creacion_de_tablas.sql y src crearemos un archivo .env.

Dentro declararemos las siguenetes varaibles (los nombres deben ser los que se especifican en el README debido que sino el programa no hara una correcrta lectura de las mismas):

Ej: Los ´*´ representan la informacion a completar

pgusuario= *
pgcontrasenia= *
pghost= *
pgpuerto= *
pgdb= *
url_museos= *
url_cines= *
url_bibliotecas= *
pathData= *

Hay una varaible que no se registrara dentro del archivo .env debido a que es la ruta de configuracion para la libreria que se encarga de leer las variables del archivo .env. La misma se encuentra en la linea 14 del archivo src.py. En el campo search_path hay que colocar la ruta donde se encuentra almacenado el archivo .env.

config = AutoConfig(search_path='*')

A modo de recomendacion, es bueno colocar en los paths una barra extra para que no haya errores al ejecutar el programa.

Cracion de base de datos

Este paso no es estrictamente necesario hacero, debido a que el propio programa en el caso de no encontrar una bases de datos con el nombre especificado, se encargara de crearla previamente a seguir ejecuando el resto del programa.

  • Ejecutamos pgAdmin 4

  • Ingresamos la conrtaseña

  • Desplegmaos el menu de Servers

  • Desplegamos el menu de PostgreSQL 13

  • Nos pedira ingresar la contraseña
  • Damos clik drecho sobre Database -> Create -> Database

  • En el campo Database colocamos el nombre

Ejecucion del programa

  • Como primer paso debemos encender el entorno virtual, como previamente se indico.
  • Una vez dentro navegamos por los ficheros y abrimos la carpeta donde se encuentran los archivos que corespondientes al proyecto.
  • Entramos en la carpeta src y ejecutamos src.py

Una vez finalizada la ejecucion del programa, veremos que tenemos nuevos ficheros creados en la carpeta del proyecto. Uno de ellos lleva el nombre logs, donde se encuentra el archivo que nos indicara si hubieron errores al ejecutarse el programa, de no hableros, la correcta ejecucio del mismo.

Verificaion de ingesta

Para tener certeza de que los datos fueron ingestados correctamente, vamos a revisar las tablas dentro de la base de datos. Para ello seguiremos los siguentes pasos:

  • Seguiremos los mismo pasos que en la seccion Creacion de base de datos hasta el paso 5.

  • Una vez dentro de Database, entraremos a la base de datos con el nombre que hayamos decidio.

  • Dentro, desplegaremos la seccion Schemas, que abrira automaticamente la seccion public

  • Nos dirigiremos a Tablas

  • Seleccionaremos una de las tablas y daremos clik derecho. Se nos desplegaran una serie de opciones de las cuales seleccionaremos las sigeuntes View/Edit Data -> All Rows.

  • De este modo podremos ver todos los datos de la tabla seleccionada.

Aclaraciones

En el challenge se pide crear una tabla con la siguente informacion:

  • Cantidad de registros totales por categoria
  • Cantidad de registros totales por fuente
  • Cantidad de registros por provincia y categoria

Para evitar problemas de normalizacion se creo una tabla por cada item.

About

Alkemy callenge analisis de datos: el proyecto consiste en la obtencion de informacion, procesamiento y carga a un servidor postgresql

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages