Mimic-code: Error desconocido del archivo estadístico chartevents.csv

Creado en 29 oct. 2018  ·  25Comentarios  ·  Fuente: MIT-LCP/mimic-code

Prerrequisitos

Cuando ejecuto el script Postgres_load_data, se cargan las primeras tres tablas y luego aparece el mensaje: no se pudo establecer el archivo CHARTEVENTS.csv: error desconocido. ¿Alguien tiene esta situación y puede ayudar?

Comentario más útil

De acuerdo, could not stat file "CHARTEVENTS.csv": Unknown error es en realidad un error en PostgreSQL 11. Bajo el capó, hace una llamada a fstat() para asegurarse de que el archivo no sea un directorio, y desafortunadamente fstat() es un programa de 32 bits que no puede manejar archivos grandes como chartevents. Probé la compilación en Windows con PostgreSQL 10.5 y no obtuve este error, así que creo que es bastante nuevo.

La mejor solución es mantener los archivos comprimidos (es decir, mantenerlos como archivos .csv.gz ) y usar 7zip para cargar los datos directamente desde archivos comprimidos. En la prueba, esto pareció funcionar todavía. Hay un tutorial bastante detallado sobre cómo hacer esto aquí: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

La versión breve de lo anterior es que mantiene los archivos .csv.gz , agrega el binario 7zip a la ruta de su entorno de Windows y luego llama al archivo postgres_load_data_7zip.sql para cargar los datos. Puede usar el archivo postgres_checks.sql después de todo para asegurarse de haber cargado todos los datos correctamente.

editar: Para su error posterior, donde está utilizando este enfoque de 7zip, no estoy seguro de por qué no se está cargando. Intente volver a descargar solo el archivo ADMISSIONS.csv.gz y ver si todavía le arroja el mismo error. ¡Quizás haya una nueva versión de 7zip que requiera que actualice el script o algo así!

Todos 25 comentarios

¿Ha verificado la integridad de su copia de chartevents.csv utilizando los archivos de suma de comprobación proporcionados en la página de descarga del proyecto? Quizás se corrompió durante la descarga o descompresión.

Sí, utilicé el comando md5 checksum_md5_zipped.txt y todo está bien con todas las tablas ...

También probé con datos comprimidos y ejecuté postgres_load_data script_7zip. En ese caso, obtengo: nueva línea sin comillas encontrada en los datos. Sugerencias: utilice el campo CSV entre comillas para representar una nueva línea.

También verifiqué md5 checksum_md5_unzipped.txt y todo está bien.

Parece que hay una discrepancia entre el script que está ejecutando y los datos que tiene. Me aseguraría:

  1. Todos los archivos están en el mismo directorio.
  2. Todos los archivos tienen la misma extensión de archivo; por ejemplo, todos son .csv.gz
  3. Está ejecutando el archivo postgres_load_data_7zip.sql (i) desde la misma carpeta o (ii) después de configurar mimic_data_dir para que apunte al directorio de datos.

Más allá de eso, es realmente difícil depurar de forma remota sin más información como una captura de pantalla de la configuración de su carpeta, la información de su sistema, los comandos exactos que ejecutó y el mensaje de error exacto.

Hola,

Gracias por su respuesta.

  1. Todos los archivos están en el mismo directorio.
  2. Todos los archivos tienen la misma extensión de archivo csv
  3. Estoy ejecutando el archivo posgres_load_data.sql después de configurar mimic_data_dir para que apunte al directorio de datos.
    Aquí si mis comandos exactos y el error que obtuve.
    step1
    step2
    system_information

Genial, eso es muy útil, gracias por la información adicional. Creo que es tan simple como que el archivo no esté en la carpeta. ¿Puede comprobar que su carpeta C:/Users/Lejla/Desktop/MIMICIII tiene el archivo CHARTEVENTS.csv ?

Puede ser que haya intentado extraer todos los archivos comprimidos, pero falló en los eventos de charte y, por lo tanto, solo tiene un archivo .csv.gz (las razones podrían ser porque el archivo extraído tiene 33 GB y se quedó sin espacio, o su el sistema de archivos es FAT32 (!), o quién sabe). En ese caso, es posible que desee editar el script de carga para cargarlo directamente desde .csv.gz . Puede hacerlo reemplazando:

\copy CHARTEVENTS from 'CHARTEVENTS.csv' delimiter ',' csv header NULL ''

con

\copy CHARTEVENTS from PROGRAM '7z e -so CHARTEVENTS.csv.gz' delimiter ',' csv header NULL ''

Muchas gracias por la respuesta. Intenté esta vez trabajar con un archivo zip y ejecutar un script para él. Esta vez tengo otra
zip_file
mensaje ... Quizás te ayude.

¿Le importaría mostrar el contenido del directorio?

No me importa, hay contenido de mi carpeta
directory

De acuerdo, could not stat file "CHARTEVENTS.csv": Unknown error es en realidad un error en PostgreSQL 11. Bajo el capó, hace una llamada a fstat() para asegurarse de que el archivo no sea un directorio, y desafortunadamente fstat() es un programa de 32 bits que no puede manejar archivos grandes como chartevents. Probé la compilación en Windows con PostgreSQL 10.5 y no obtuve este error, así que creo que es bastante nuevo.

La mejor solución es mantener los archivos comprimidos (es decir, mantenerlos como archivos .csv.gz ) y usar 7zip para cargar los datos directamente desde archivos comprimidos. En la prueba, esto pareció funcionar todavía. Hay un tutorial bastante detallado sobre cómo hacer esto aquí: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

La versión breve de lo anterior es que mantiene los archivos .csv.gz , agrega el binario 7zip a la ruta de su entorno de Windows y luego llama al archivo postgres_load_data_7zip.sql para cargar los datos. Puede usar el archivo postgres_checks.sql después de todo para asegurarse de haber cargado todos los datos correctamente.

editar: Para su error posterior, donde está utilizando este enfoque de 7zip, no estoy seguro de por qué no se está cargando. Intente volver a descargar solo el archivo ADMISSIONS.csv.gz y ver si todavía le arroja el mismo error. ¡Quizás haya una nueva versión de 7zip que requiera que actualice el script o algo así!

Hola,
Gracias por la explicación detallada. Instalé PostgreSQL 10.5 y ahora el proceso se está ejecutando. Creo que tomará mucho tiempo cargar todas las tablas, pero ya no obtengo "Error desconocido". Muchas gracias por toda la ayuda.

¡Estupendo!

De acuerdo, could not stat file "CHARTEVENTS.csv": Unknown error es en realidad un error en PostgreSQL 11. Bajo el capó, hace una llamada a fstat() para asegurarse de que el archivo no sea un directorio, y desafortunadamente fstat() es un programa de 32 bits que no puede manejar archivos grandes como chartevents. Probé la compilación en Windows con PostgreSQL 10.5 y no obtuve este error, así que creo que es bastante nuevo.

La mejor solución es mantener los archivos comprimidos (es decir, mantenerlos como archivos .csv.gz ) y usar 7zip para cargar los datos directamente desde archivos comprimidos. En la prueba, esto pareció funcionar todavía. Hay un tutorial bastante detallado sobre cómo hacer esto aquí: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

La versión breve de lo anterior es que mantiene los archivos .csv.gz , agrega el binario 7zip a la ruta de su entorno de Windows y luego llama al archivo postgres_load_data_7zip.sql para cargar los datos. Puede usar el archivo postgres_checks.sql después de todo para asegurarse de haber cargado todos los datos correctamente.

editar: Para su error posterior, donde está utilizando este enfoque de 7zip, no estoy seguro de por qué no se está cargando. Intente volver a descargar solo el archivo ADMISSIONS.csv.gz y ver si todavía le arroja el mismo error. ¡Quizás haya una nueva versión de 7zip que requiera que actualice el script o algo así!

Usar PostgreSQL 10.11 me ayudó ... gracias

Genial, eso es muy útil, gracias por la información adicional. Creo que es tan simple como que el archivo no esté en la carpeta. ¿Puede comprobar que su carpeta C:/Users/Lejla/Desktop/MIMICIII tiene el archivo CHARTEVENTS.csv ?

Puede ser que haya intentado extraer todos los archivos comprimidos, pero falló en los eventos de charte y, por lo tanto, solo tiene un archivo .csv.gz (las razones podrían ser porque el archivo extraído tiene 33 GB y se quedó sin espacio, o su el sistema de archivos es FAT32 (!), o quién sabe). En ese caso, es posible que desee editar el script de carga para cargarlo directamente desde .csv.gz . Puede hacerlo reemplazando:

\copy CHARTEVENTS from 'CHARTEVENTS.csv' delimiter ',' csv header NULL ''

con

\copy CHARTEVENTS from PROGRAM '7z e -so CHARTEVENTS.csv.gz' delimiter ',' csv header NULL ''

Gracias, esto funcionó para mí:
\ copiar my_table_name del programa 'cmd / c type input_data.csv' delimiter ',' csv header;
input_data.csv como tamaño de 11GB.

El problema con "no se pueden copiar archivos grandes" está disponible para las versiones 11 y 12. Pero por 10 está bien. ¿Cómo anularlo sin comprimir archivos de datos, pero tal vez para insertar / intercambiar algunos archivos de programa Postgresql de v.10 a v 11 y 12?
Solución alterna:
copie t (c, d) del programa 'cmd / c "escriba x: \ ruta a \ archivo.txt"' con (formato de texto);
-Es bastante lento para mis necesidades. Necesito la velocidad del comando Copiar predeterminado

Podría considerar usar otras herramientas de línea de comando para dividir el archivo en varios archivos y luego cargar los archivos individuales uno a la vez. En sistemas Unix, esto se puede hacer usando split y podría instalar las coreutils GNU para que Windows lo use.

Creo que me he encontrado con el mismo problema que usted, pero estoy usando la muy nueva versión 12. ¿Hay alguna forma de solucionarlo? ¿Utiliza archivos comprimidos?

Sí, si recuerdo correctamente los archivos comprimidos son <4 GB y evita este error usando los scripts de carga comprimidos (7z o gzip).

Bien, intentaré este método ahora, muchas gracias por tu respuesta

Entonces, ¿no hay solución sin usar compresión o división en absoluto? ¿Uso de la versión 10 del comando COPY de Postgresql para motores 11, 12?
Como he mencionado:
Necesito la velocidad del comando Copiar predeterminado pero para archivos grandes + versión 12
y esto es vital para mis necesidades.

Bueno, PostgreSQL es de código abierto, así que puedes intentar contribuir tú mismo con una solución :)

Aquí está la discusión relevante: https://www.postgresql.org/message-id/20181104000405.GA1743%40paquier.xyz

De lo contrario, tiene las tres soluciones propuestas en este hilo (cambiar la versión, usar archivos comprimidos, dividir el archivo en varias partes). Estoy seguro de que también hay otras soluciones.

¿No es obvio migrar parte funcional del código de la versión 10 de la funcionalidad COPY a 11 y 12? ¿O está tan codificado que causa un colapso para todos? :)

@ghYura, este es un recurso mantenido por la comunidad, por lo que si tiene sugerencias para mejorar el código base, le sugiero que haga una solicitud de extracción.

Recibí el error mientras cargaba los CSV en las tablas en las versiones 12.X y 13.X, pero funciona como un encanto en la versión 10.15 de PostgreSQL. Gracias a todos por la ayuda :)

¿Fue útil esta página
0 / 5 - 0 calificaciones