Importar archivo con delimitadores

Tengo un gran problema al importar un archivo txt que pesa 1GB el cual tiene casi 7 millones de registros, primero intente hacerlo con php y mysql, me funciono bien pero con archivos pequeños, ahora estoy intentándolo hacer en Java pero no me funciona el código, es más, no se como hacerlo!, ya que ahora estoy usando postgres como motor de base de datos aunque preferiría usar mysql pero creo que mysql tiene sus limitaciones en cuanto el numero de registros que necesito importar.
El archivo txt tiene la siguiente estructura:
minombre|apellido paterno|apellido materno|
Quisiera que estos datos se guarden en la base de datos y que la tabla y los campos se creen automáticamente al importar el archivo y contengan los datos que están en los pipelines ya que abra otros archivos txt que tendrán más o menos pipelines.
2

2 Respuestas

62.050 pts. Ingeniero en Informática
No entiendo muy bien el problema. Hablas de php, mysql, postgres, java, problemas de tamaño, etc... Intenta ser más específico con el problema que tienes, dando detalles de los pasos que has hecho hasta ahora para resolver el problema (el problema de ahora, no los de otros lenguajes o bases de datos).
Leer ese txt e insertar los datos desde Java es relativamente sencillo, otra cosa es que es una cantidad ingente de registros y de tamaño de fichero. Lo primero que te sugeriría es que lo dividas en partes más pequeñas.
http://www.spadixbd.com/freetools/jsplit.htm
225 pts.

Primero debes decidir que lenguaje vas a utilizar. No veo porque Postgre tendría menos limitaciones que MySQL, esta ultima seria mi primer opción.
El que te funcionara con archivos pequeños y no con otros de mayor tamaño, imagino no fue por MySQL sino por PHP. En PHP debes modificar el PHP.ini de tu server para que permita la subida de archivos de mayor tamaño a lo que trae permitido por defecto.

Debes modificar estos parámetros en tu PHP.ini y reiniciar tu servidor:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas