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
Modifica tu tienda en un solo sitio Si por algún motivo, no utilizas multitienda y…
En el proceso de compra no se muestran las opciones de pago Si te has…
/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…
Pasos para inicializar un proyecto Symfony 5 y un panel de control de entidades Inicializando Symfony:…
MODULOS DE ODOO NECESARIOS PARA UN ECOMMERCE Enlaces de OCA de interes: En el siguiente…
Migración de un prestashop 1.7 de un dominio a otro. Copiamos la BBDD del antiguo…