CategoriAs: Sin categoría

BIG Data – Manejando pequeños volúmenes de datos

¿BIG DATA o simplemente bases de datos grandes?

Bueno, BIG DATA, la palabra tan de moda, que es el big data, que hacemos con el big data, ¿es nuevo el big data?

Yo creo que el «BIG DATA» viene existiendo desde hace muchísimos años, desde hace muchisimos años se hacen estudios de estadistica donde se manejan grandes volumenes de datos, millones y millones y millones. Y no se le llamaba big data.

Ahora bien, vamos a hacer una introducción de como podemos manejar en «BIG DATA» pequeños y medianos volúmenes de datos.

Cometí un error a la hora de estudiar la arquitectura de alimentación en una aplicación. Un error muy común donde la palabra ETL estaba de moda. Creí conveniente manejar esos datos y luego alimentar la BBDD. Un error brutal.

La aplicación básicamente se trataba de un ETL. Extraer, transformar y cargar. Y creo que no es lo mas conveniente, se pierde muchísimo tiempo en la transformación del dato a través de un lenguaje como por ejemplo PHP.

Todo va encaminado al «EL», extracción y carga (load en ingles), lo que tardabas horas en cargar y transformar, pasas a tardar segundos, y la transformación no es necesaria si se tiene una buena lógica en la BBDD.
Si necesitas transformar, que únicamente sea una transformación a fichero para cargar inmediatamente, en el caso de que te falle tendrás controlado el fichero que falló para volver a intentar subir.

Por lo que si tienes problemas en tu aplicación con el tiempo que tardas en transformar los datos, debes eliminar por completo ese modelo y transformar los datos en tus querys.

Para MYSQL utilizo las siguientes consultas:

LOAD DATA LOCAL INFILE '/ruta_al_fichero.csv' 
REPLACE
INTO TABLE bbdd_que_sea.tabla_que_sea 
FIELDS TERMINATED BY ';' #Ojo aquí que el csv puede venir separado por ',' 
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
( nombre_columna_a_la_que_va_la_COL1_del_csv, nombre_columna_a_la_que_va_la_COL2_del_csv.....);

Algunos comandos utiles:

#Cuando tengais problemas con Ficheros csv QUE tengan fechas invalidas (null)
SET @@SESSION.sql_mode='ALLOW_INVALID_DATES';
#Cuando necesiteis transformar un formato de fecha en otra:
NOMBRE_COL_BD = STR_TO_DATE(@NOMBRE_COL_BD, '%d-%b-%y');
#Teneis todos los usos aqui: https://www.w3schools.com/sql/func_mysql_str_to_date.asp

 

descuderosanchez@gmail.com

Compartir
Publicado por
descuderosanchez@gmail.com

Artículos Recientes

  • Prestashop`

Script para Duplicar BBDD en otro Prestashop

Modifica tu tienda en un solo sitio Si por algún motivo, no utilizas multitienda y dispones de dos tiendas exactamente…

3 años ago
  • Prestashop`

Prestashop – No se muestran las opciones de pago

En el proceso de compra no se muestran las opciones de pago Si te has encontrado con este problema, después…

3 años ago
  • Symfony

Regeneración BBDD Symfony en Deploy

/migrations#rm -rf ./* #php bin/console doctrine:migrations:generate #php bin/console doctrine:migrations:migrate #php bin/console doctrine:migrations:current #php bin/console doctrine:migrations:diff #php bin/console c:c #php bin/console…

3 años ago
  • Symfony

Inicializar proyecto Symfony 5 para gestionar entidades

Pasos para inicializar un proyecto Symfony 5 y un panel de control de entidades Inicializando Symfony: Si no tenemos el comando…

3 años ago
  • Odoo

Odoo – Enlaces de interes

MODULOS DE ODOO NECESARIOS PARA UN ECOMMERCE Enlaces de OCA de interes: En el siguiente enlace existen un montón de…

3 años ago
  • Sin categoría

Como Migrar Prestashop 1.7 de un dominio a otro

Migración de un prestashop 1.7 de un dominio a otro. Copiamos la BBDD del antiguo hosting al nuevo. Copiamos los…

3 años ago