Mimic-code: Tidak dapat stat file chartevents.csv kesalahan tidak diketahui

Dibuat pada 29 Okt 2018  ·  25Komentar  ·  Sumber: MIT-LCP/mimic-code

Prasyarat

Ketika saya menjalankan skrip Postgres_load_data, tiga tabel pertama dimuat dan setelah itu saya mendapat pesan: could not stat file CHARTEVENTS.csv: unknown error. Apakah ada yang memiliki situasi ini dan dapat membantu.

Komentar yang paling membantu

Oke, could not stat file "CHARTEVENTS.csv": Unknown error sebenarnya adalah bug di PostgreSQL 11. Di bawah tenda itu membuat panggilan ke fstat() untuk memastikan file tersebut bukan direktori, dan sayangnya fstat() adalah program 32-bit yang tidak dapat menangani file besar seperti chartevents. Saya menguji build di Windows dengan PostgreSQL 10.5 dan saya tidak mendapatkan kesalahan ini, jadi saya pikir ini cukup baru.

Solusi terbaik adalah menjaga file tetap terkompresi (yaitu menyimpannya sebagai file .csv.gz ) dan menggunakan 7zip untuk memuat data langsung dari file terkompresi. Dalam pengujian ini sepertinya masih berfungsi. Ada tutorial yang cukup mendetail tentang cara melakukannya di sini: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

Versi singkat di atas adalah bahwa Anda menyimpan file .csv.gz , Anda menambahkan biner 7zip ke jalur lingkungan windows Anda, dan kemudian Anda memanggil file postgres_load_data_7zip.sql untuk memuat data. Anda dapat menggunakan file postgres_checks.sql setelah semuanya untuk memastikan Anda memuat semua data dengan benar.

edit: Untuk kesalahan Anda nanti, di mana Anda menggunakan pendekatan 7zip ini, saya tidak yakin mengapa itu tidak dimuat. Coba unduh ulang hanya file ADMISSIONS.csv.gz dan lihat apakah masih menimbulkan kesalahan yang sama. Mungkin ada versi baru 7zip yang mengharuskan saya untuk memperbarui skrip atau sesuatu!

Semua 25 komentar

Sudahkah Anda memeriksa integritas salinan chartevents.csv menggunakan file checksum yang disediakan pada halaman unduhan untuk proyek tersebut? Mungkin rusak saat mengunduh atau dekompresi.

Ya, saya menggunakan perintah md5 checksum_md5_zipped.txt dan semuanya baik-baik saja dengan semua tabel...

Saya juga mencoba dengan data zip dan menjalankan postgres_load_data script_7Zip. Dalam hal ini saya mendapatkan: baris baru yang tidak dikutip ditemukan di data. Petunjuk: gunakan bidang CSV yang dikutip untuk mewakili baris baru.

Saya juga memeriksa md5 checksum_md5_unzip.txt dan semuanya baik-baik saja.

Sepertinya ada ketidakcocokan antara skrip yang Anda jalankan dan data yang Anda miliki. Saya akan memastikan:

  1. Semua file berada di direktori yang sama
  2. Semua file memiliki ekstensi file yang sama; misalnya mereka semua .csv.gz
  3. Anda menjalankan file postgres_load_data_7zip.sql baik (i) dari folder yang sama atau (ii) setelah mengkonfigurasi mimik_data_dir untuk menunjuk ke direktori data.

Setelah itu, sangat sulit untuk melakukan debug dari jarak jauh tanpa info lebih lanjut seperti tangkapan layar dari pengaturan folder Anda, informasi sistem Anda, perintah yang tepat yang Anda jalankan dan pesan kesalahan yang tepat.

Halo,

Terima kasih atas jawaban Anda.

  1. Semua file berada di direktori yang sama
  2. Semua file memiliki ekstensi file yang sama csv
  3. Saya menjalankan file posgres_load_data.sql setelah mengkonfigurasi mimik_data_dir untuk menunjuk ke direktori data.
    Di sini si perintah dan kesalahan saya yang tepat saya dapatkan.
    step1
    step2
    system_information

Hebat itu sangat membantu, terima kasih atas info tambahannya. Saya pikir ini sesederhana file yang tidak ada di folder. Bisakah Anda memeriksa ulang apakah folder Anda C:/Users/Lejla/Desktop/MIMICIII memiliki file CHARTEVENTS.csv ?

Mungkin Anda mencoba mengekstrak semua file terkompresi, tetapi gagal untuk chartevents sehingga Anda hanya memiliki file .csv.gz (alasannya mungkin karena file yang diekstrak berukuran 33 GB dan Anda kehabisan ruang, atau sistem file adalah FAT32 (!), Atau siapa tahu). Dalam hal ini, Anda mungkin ingin mengedit skrip pemuatan untuk memuatnya langsung dari .csv.gz . Anda dapat melakukannya dengan mengganti:

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

dengan

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

Terima kasih banyak atas jawabannya. Saya mencoba kali ini untuk bekerja dengan file Zip, dan menjalankan skrip untuk itu. Kali ini saya mendapat yang lain
zip_file
pesan ... Mungkin itu akan membantu.

Apakah Anda keberatan menunjukkan isi direktori?

Saya tidak keberatan. ini isi folder saya
directory

Oke, could not stat file "CHARTEVENTS.csv": Unknown error sebenarnya adalah bug di PostgreSQL 11. Di bawah tenda itu membuat panggilan ke fstat() untuk memastikan file tersebut bukan direktori, dan sayangnya fstat() adalah program 32-bit yang tidak dapat menangani file besar seperti chartevents. Saya menguji build di Windows dengan PostgreSQL 10.5 dan saya tidak mendapatkan kesalahan ini, jadi saya pikir ini cukup baru.

Solusi terbaik adalah menjaga file tetap terkompresi (yaitu menyimpannya sebagai file .csv.gz ) dan menggunakan 7zip untuk memuat data langsung dari file terkompresi. Dalam pengujian ini sepertinya masih berfungsi. Ada tutorial yang cukup mendetail tentang cara melakukannya di sini: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

Versi singkat di atas adalah bahwa Anda menyimpan file .csv.gz , Anda menambahkan biner 7zip ke jalur lingkungan windows Anda, dan kemudian Anda memanggil file postgres_load_data_7zip.sql untuk memuat data. Anda dapat menggunakan file postgres_checks.sql setelah semuanya untuk memastikan Anda memuat semua data dengan benar.

edit: Untuk kesalahan Anda nanti, di mana Anda menggunakan pendekatan 7zip ini, saya tidak yakin mengapa itu tidak dimuat. Coba unduh ulang hanya file ADMISSIONS.csv.gz dan lihat apakah masih menimbulkan kesalahan yang sama. Mungkin ada versi baru 7zip yang mengharuskan saya untuk memperbarui skrip atau sesuatu!

Halo,
Terima kasih atas penjelasan detailnya. Saya menginstal PostgreSQL 10.5 dan sekarang proses sedang berjalan. Saya pikir itu akan memakan banyak waktu untuk memuat semua tabel tetapi saya tidak mendapatkan "Kesalahan tidak dikenal" lagi. Terima kasih banyak atas semua bantuannya.

Besar!

Oke, could not stat file "CHARTEVENTS.csv": Unknown error sebenarnya adalah bug di PostgreSQL 11. Di bawah tenda itu membuat panggilan ke fstat() untuk memastikan file tersebut bukan direktori, dan sayangnya fstat() adalah program 32-bit yang tidak dapat menangani file besar seperti chartevents. Saya menguji build di Windows dengan PostgreSQL 10.5 dan saya tidak mendapatkan kesalahan ini, jadi saya pikir ini cukup baru.

Solusi terbaik adalah menjaga file tetap terkompresi (yaitu menyimpannya sebagai file .csv.gz ) dan menggunakan 7zip untuk memuat data langsung dari file terkompresi. Dalam pengujian ini sepertinya masih berfungsi. Ada tutorial yang cukup mendetail tentang cara melakukannya di sini: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

Versi singkat di atas adalah bahwa Anda menyimpan file .csv.gz , Anda menambahkan biner 7zip ke jalur lingkungan windows Anda, dan kemudian Anda memanggil file postgres_load_data_7zip.sql untuk memuat data. Anda dapat menggunakan file postgres_checks.sql setelah semuanya untuk memastikan Anda memuat semua data dengan benar.

edit: Untuk kesalahan Anda nanti, di mana Anda menggunakan pendekatan 7zip ini, saya tidak yakin mengapa itu tidak dimuat. Coba unduh ulang hanya file ADMISSIONS.csv.gz dan lihat apakah masih menimbulkan kesalahan yang sama. Mungkin ada versi baru 7zip yang mengharuskan saya untuk memperbarui skrip atau sesuatu!

Menggunakan PostgreSQL 10.11 membantu saya... terima kasih

Hebat itu sangat membantu, terima kasih atas info tambahannya. Saya pikir ini sesederhana file yang tidak ada di folder. Bisakah Anda memeriksa ulang apakah folder Anda C:/Users/Lejla/Desktop/MIMICIII memiliki file CHARTEVENTS.csv ?

Mungkin Anda mencoba mengekstrak semua file terkompresi, tetapi gagal untuk chartevents sehingga Anda hanya memiliki file .csv.gz (alasannya mungkin karena file yang diekstrak berukuran 33 GB dan Anda kehabisan ruang, atau sistem file adalah FAT32 (!), Atau siapa tahu). Dalam hal ini, Anda mungkin ingin mengedit skrip pemuatan untuk memuatnya langsung dari .csv.gz . Anda dapat melakukannya dengan mengganti:

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

dengan

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

Terima kasih, ini berhasil untuk saya:
\copy my_table_name dari program 'cmd /c ketik input_data.csv' delimiter ',' header csv;
input_data.csv seperti ukuran 11GB.

Masalah dengan "tidak dapat menyalin file besar" tersedia untuk versi 11 dan 12. Tapi untuk 10 ok. Bagaimana cara menimpanya tanpa mengompresi file data, tetapi mungkin untuk menambahkan/menukar beberapa file program Postgresql dari v.10 ke v 11 dan 12?
Solusi:
salin t(c,d) dari program 'cmd /c "ketik x:\pathto\file.txt"' dengan (format teks);
-cukup lambat untuk kebutuhan saya. Saya membutuhkan kecepatan perintah Salin default

Anda dapat mempertimbangkan untuk menggunakan alat baris perintah lain untuk membagi file menjadi beberapa file, dan kemudian memuat file satu per satu. Pada sistem unix ini dapat dilakukan dengan menggunakan split dan Anda dapat menginstal GNU coreutils untuk Windows untuk menggunakannya.

Saya pikir saya mengalami masalah yang sama seperti Anda, tetapi saya menggunakan versi 12 yang sangat baru. Apakah ada cara untuk menyelesaikannya? Gunakan file terkompresi?

Ya, jika saya ingat dengan benar file terkompresi <4 GB dan Anda menghindari kesalahan ini dengan menggunakan skrip beban terkompresi (7z atau gzip).

Oke, saya akan mencoba metode ini sekarang, terima kasih banyak atas balasan Anda

Jadi, tidak ada solusi TANPA menggunakan kompresi atau pemisahan sama sekali? Penggunaan perintah COPY versi 10 dari Postgresql untuk mesin 11, 12?
Seperti yang saya sebutkan:
Saya membutuhkan kecepatan perintah Salin default tetapi untuk file besar + versi 12
dan ini sangat penting untuk kebutuhan saya.

Nah, PostgreSQL adalah open source, jadi Anda dipersilakan untuk mencoba dan berkontribusi memperbaikinya sendiri :)

Berikut pembahasan terkait: https://www.postgresql.org/message-id/20181104000405.GA1743%40paquier.xyz

Jika tidak, Anda memiliki tiga solusi yang diusulkan di utas ini (ubah versi, gunakan file terkompresi, bagi file menjadi beberapa bagian). Saya yakin ada solusi lain juga.

Bukankah jelas untuk memigrasikan bagian yang berfungsi dari kode fungsi COPY v. 10 menjadi 11 dan 12? Atau begitu hardcoded, yang menyebabkan crash untuk semua? :)

@ghYura ini adalah sumber daya yang dikelola komunitas, jadi jika Anda memiliki saran untuk meningkatkan basis kode maka saya sarankan membuat permintaan tarik.

Saya mendapatkan kesalahan saat memuat CSV ke dalam tabel di versi 12.X dan 13.X tetapi berfungsi seperti pesona di PostgreSQL versi 10.15. Terima kasih, semuanya atas bantuannya :)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat