Las bases de datos SQL son excelentes herramientas para el análisis de datos con herramientas para calcular, agrupar, filtrar, etc. con una potencia mucho mayor que una simple hoja de cálculo. Empezamos esta serie de posts con lo mas básico y con lo que mucha gente tiene problemas para empezar, la importación y exportación de datos con CSV(Uno de los formatos líderes para mover datos).
Supongamos que tenemos un fichero CSV con datos sobre el rendimiento de mis últimos vídeo de Youtube. Los campos se pueden guardar en la siguiente tabla:
CREATE TABLE subs ( vid varchar(45), titulo longtext, hora_publicacion varchar(45), subs_perdidos int(11), subs_ganados int(11), visualizaciones int(11), duracion_horas decimal(10,4), duracion_media varchar(45), likes varchar(45), compartido int(11) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
Cargar datos CSV que tenemos guardado en el fichero ‘/datos.csv’ es tan fácil como:
LOAD DATA INFILE '/datos.csv' INTO TABLE subs FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
También podemos hacerlo por línea de comandos usando el comando ‘mysqlimport’:
mysqlimport -uroot -proot -h172.17.0.3 youtube /subs.csv --fields-terminated-by=, --fields-optionally-enclosed-by='"'
Y finalmente podemos exportar cualquier ‘select’ añadiendo ‘into outfile’ a la sentencia, por ejemplo:
SELECT max(subs_ganados),max(subs_perdidos) INTO OUTFILE '/data/datos2.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM youtube.subs;
Tip fácil y rápido, comentad si queréis que siga con la creación de cubos olap. Felices fiestas y próspero año nuevo.