estoy tratando de cargar un archivo de 95 GB CSV en una base de datos de MySQL (MySQL 5.1.36) mediante el siguiente comando:Cargue un archivo CSV de 95 GB en la tabla MyISAM de MySQL mediante Cargar archivo de datos: motor CSV ¿una alternativa?
CREATE TABLE MOD13Q1 (
rid INT UNSIGNED NOT NULL AUTO_INCREMENT,
gid MEDIUMINT(6) UNSIGNED NOT NULL ,
yr SMALLINT(4) UNSIGNED NOT NULL ,
dyyr SMALLINT(4) UNSIGNED NOT NULL ,
ndvi DECIMAL(7,4) NOT NULL comment 'NA value is 9',
reliability TINYINT(4) NOT NULL comment 'NA value is 9',
ndviquality1 TINYINT(1) NOT NULL ,
ndviquality2 TINYINT(1) NOT NULL ,
primary key (rid),
key(gid)
) ENGINE = MyISAM ;
LOAD DATA INFILE 'datafile.csv' INTO TABLE MOD13Q1 FIELDS TERMINATED by ',' LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(gid, yr, dyyr, ndvi, reliability,
ndviquality1, ndviquality2
) ;
estoy ejecutando este script a través de DOS en el momento, pero la base de datos no está respondiendo. Funciona para archivos CSV más pequeños (1,5 GB) bien. ¿Funcionaría para este tamaño de archivo?
¿Tiene alguna recomendación sobre cómo hacer esto de manera más eficiente/más rápida? ¿El motor = CSV sería una alternativa (la indexación no está activada? -> entonces ¿las consultas pueden ser súper lentas?).
actualización
Gracias por los consejos, funcionó!
mysql> LOAD DATA INFILE 'E:\\AAJan\\data\\data.csv' INTO TABL
E MOD13Q1
-> FIELDS TERMINATED by ','
-> LINES TERMINATED BY '\r\n'
-> IGNORE 1 LINES
-> (gid, yr, dyyr, ndvi, reliability,
-> ndviquality1, ndviquality2
-> ) ;
Query OK, -1923241485 rows affected (18 hours 28 min 51.26 sec)
Records: -1923241485 Deleted: 0 Skipped: 0 Warnings: 0
mysql>
Espero que esto sea útil para los demás evitando la división de datos en pedazos.
@Mark: tokyo cabinet es clave/valor DBM así que nada que hacer en mi humilde opinión – RageZ