Mimic-code: تعذر إحصاء ملف chartevents.csv خطأ غير معروف

تم إنشاؤها على ٢٩ أكتوبر ٢٠١٨  ·  25تعليقات  ·  مصدر: MIT-LCP/mimic-code

المتطلبات الأساسية

عندما أقوم بتشغيل البرنامج النصي Postgres_load_data ، يتم تحميل الجداول الثلاثة الأولى وبعد ذلك تلقيت رسالة: تعذر إحصاء الملف CHARTEVENTS.csv: خطأ غير معروف. هل لدى أي شخص هذا الوضع ويمكنه المساعدة.

التعليق الأكثر فائدة

حسنًا ، could not stat file "CHARTEVENTS.csv": Unknown error هو في الواقع خطأ في PostgreSQL 11. تحت الغطاء ، يقوم بالاتصال بـ fstat() للتأكد من أن الملف ليس دليلاً ، وللأسف fstat() هو برنامج 32 بت لا يمكنه التعامل مع الملفات الكبيرة مثل أحداث المخطط. لقد اختبرت البنية على Windows باستخدام PostgreSQL 10.5 ولم أحصل على هذا الخطأ ، لذا أعتقد أنه جديد تمامًا.

أفضل حل هو الاحتفاظ بالملفات مضغوطة (أي الاحتفاظ بها كملفات .csv.gz ) واستخدام 7zip لتحميل البيانات مباشرة من الملفات المضغوطة. في الاختبار يبدو أن هذا لا يزال يعمل. يوجد برنامج تعليمي مفصل جدًا حول كيفية القيام بذلك هنا: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

الإصدار المختصر لما سبق هو أنك تحتفظ بملفات .csv.gz ، وتضيف ثنائي 7zip إلى مسار بيئة Windows ، ثم تستدعي الملف postgres_load_data_7zip.sql لتحميل البيانات. يمكنك استخدام ملف postgres_checks.sql بعد كل شيء للتأكد من تحميل جميع البيانات بشكل صحيح.

تحرير: بالنسبة للخطأ اللاحق ، حيث تستخدم نهج 7zip ، لست متأكدًا من سبب عدم تحميله. حاول إعادة تنزيل ملف ADMISSIONS.csv.gz فقط ومعرفة ما إذا كان لا يزال يتسبب في حدوث نفس الخطأ. ربما هناك إصدار جديد من 7zip يتطلب مني تحديث البرنامج النصي أو شيء من هذا القبيل!

ال 25 كومينتر

هل تحققت من سلامة نسختك من chartevents.csv باستخدام ملفات المجموع الاختباري المتوفرة في صفحة التنزيل الخاصة بالمشروع؟ ربما تم إتلافه أثناء التنزيل أو فك الضغط.

نعم ، لقد استخدمت الأمر md5 checkum_md5_zipped.txt وكل شيء على ما يرام مع جميع الجداول ...

حاولت أيضًا استخدام البيانات المضغوطة وتشغيل postgres_load_data script_7zip. في هذه الحالة أحصل على: سطر جديد غير مسعور موجود في البيانات. تلميحات: استخدم حقل CSV المقتبس لتمثيل سطر جديد.

لقد راجعت أيضًا md5 checkum_md5_unzipped.txt وكل شيء على ما يرام.

يبدو أن هناك عدم تطابق بين النص الذي تقوم بتشغيله والبيانات التي لديك. سأحرص على:

  1. جميع الملفات موجودة في نفس الدليل
  2. جميع الملفات لها نفس امتداد الملف ؛ على سبيل المثال ، كلهم .csv.gz
  3. أنت تقوم بتشغيل ملف postgres_load_data_7zip.sql إما (i) من نفس المجلد أو (ii) بعد تكوين mimic_data_dir للإشارة إلى دليل البيانات.

بعد ذلك ، كان من الصعب حقًا تصحيح الأخطاء عن بُعد بدون مزيد من المعلومات مثل لقطة شاشة لإعداد المجلد الخاص بك ومعلومات النظام والأوامر الدقيقة التي قمت بتشغيلها ورسالة الخطأ الدقيقة.

مرحبا،

شكرا لاجابتك.

  1. جميع الملفات في نفس الدليل
  2. جميع الملفات لها نفس امتداد الملف csv
  3. أقوم بتشغيل ملف posgres_load_data.sql بعد تكوين mimic_data_dir للإشارة إلى دليل البيانات.
    هنا ، حصلت على أوامري الدقيقة والخطأ.
    step1
    step2
    system_information

رائع ، هذا مفيد للغاية ، شكرًا على المعلومات الإضافية. أعتقد أن الأمر بسيط مثل عدم وجود الملف في المجلد. هل يمكنك التحقق مرة أخرى من أن المجلد C:/Users/Lejla/Desktop/MIMICIII يحتوي على الملف CHARTEVENTS.csv ؟

ربما تكون قد حاولت استخراج جميع الملفات المضغوطة ، لكنها فشلت في أحداث المخطط وبالتالي لديك فقط ملف .csv.gz (قد تكون الأسباب لأن الملف المستخرج هو 33 جيجا بايت ونفدت المساحة لديك ، أو نظام الملفات هو FAT32 (!) ، أو من يدري). في هذه الحالة ، قد ترغب في تحرير البرنامج النصي للتحميل لتحميله مباشرة من .csv.gz . يمكنك القيام بذلك عن طريق استبدال:

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

مع

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

شكرا جزيلا على الجواب لك. حاولت هذه المرة العمل مع ملف مضغوط وتشغيل البرنامج النصي له. هذه المرة حصلت على أخرى
zip_file
رسالة ... ربما ستساعد.

هل تمانع في إظهار محتويات الدليل؟

لا مانع هناك محتوى من مجلدي
directory

حسنًا ، could not stat file "CHARTEVENTS.csv": Unknown error هو في الواقع خطأ في PostgreSQL 11. تحت الغطاء ، يقوم بالاتصال بـ fstat() للتأكد من أن الملف ليس دليلاً ، وللأسف fstat() هو برنامج 32 بت لا يمكنه التعامل مع الملفات الكبيرة مثل أحداث المخطط. لقد اختبرت البنية على Windows باستخدام PostgreSQL 10.5 ولم أحصل على هذا الخطأ ، لذا أعتقد أنه جديد تمامًا.

أفضل حل هو الاحتفاظ بالملفات مضغوطة (أي الاحتفاظ بها كملفات .csv.gz ) واستخدام 7zip لتحميل البيانات مباشرة من الملفات المضغوطة. في الاختبار يبدو أن هذا لا يزال يعمل. يوجد برنامج تعليمي مفصل جدًا حول كيفية القيام بذلك هنا: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

الإصدار المختصر لما سبق هو أنك تحتفظ بملفات .csv.gz ، وتضيف ثنائي 7zip إلى مسار بيئة Windows ، ثم تستدعي الملف postgres_load_data_7zip.sql لتحميل البيانات. يمكنك استخدام ملف postgres_checks.sql بعد كل شيء للتأكد من تحميل جميع البيانات بشكل صحيح.

تحرير: بالنسبة للخطأ اللاحق ، حيث تستخدم نهج 7zip ، لست متأكدًا من سبب عدم تحميله. حاول إعادة تنزيل ملف ADMISSIONS.csv.gz فقط ومعرفة ما إذا كان لا يزال يتسبب في حدوث نفس الخطأ. ربما هناك إصدار جديد من 7zip يتطلب مني تحديث البرنامج النصي أو شيء من هذا القبيل!

مرحبا،
شكرا لك على شرح التفاصيل. لقد قمت بتثبيت PostgreSQL 10.5 والآن العملية قيد التشغيل. أعتقد أن تحميل كل الجدول سيستغرق وقتًا طويلاً ولكني لم أحصل على "خطأ غير معروف" بعد الآن. شكرا جزيلا على كل المساعدة لك.

باهر!

حسنًا ، could not stat file "CHARTEVENTS.csv": Unknown error هو في الواقع خطأ في PostgreSQL 11. تحت الغطاء ، يقوم بالاتصال بـ fstat() للتأكد من أن الملف ليس دليلاً ، وللأسف fstat() هو برنامج 32 بت لا يمكنه التعامل مع الملفات الكبيرة مثل أحداث المخطط. لقد اختبرت البنية على Windows باستخدام PostgreSQL 10.5 ولم أحصل على هذا الخطأ ، لذا أعتقد أنه جديد تمامًا.

أفضل حل هو الاحتفاظ بالملفات مضغوطة (أي الاحتفاظ بها كملفات .csv.gz ) واستخدام 7zip لتحميل البيانات مباشرة من الملفات المضغوطة. في الاختبار يبدو أن هذا لا يزال يعمل. يوجد برنامج تعليمي مفصل جدًا حول كيفية القيام بذلك هنا: https://mimic.physionet.org/tutorials/install-mimic-locally-windows/

الإصدار المختصر لما سبق هو أنك تحتفظ بملفات .csv.gz ، وتضيف ثنائي 7zip إلى مسار بيئة Windows ، ثم تستدعي الملف postgres_load_data_7zip.sql لتحميل البيانات. يمكنك استخدام ملف postgres_checks.sql بعد كل شيء للتأكد من تحميل جميع البيانات بشكل صحيح.

تحرير: بالنسبة للخطأ اللاحق ، حيث تستخدم نهج 7zip ، لست متأكدًا من سبب عدم تحميله. حاول إعادة تنزيل ملف ADMISSIONS.csv.gz فقط ومعرفة ما إذا كان لا يزال يتسبب في حدوث نفس الخطأ. ربما هناك إصدار جديد من 7zip يتطلب مني تحديث البرنامج النصي أو شيء من هذا القبيل!

ساعدني استخدام PostgreSQL 10.11 ... شكرًا

رائع ، هذا مفيد للغاية ، شكرًا على المعلومات الإضافية. أعتقد أن الأمر بسيط مثل عدم وجود الملف في المجلد. هل يمكنك التحقق مرة أخرى من أن المجلد C:/Users/Lejla/Desktop/MIMICIII يحتوي على الملف CHARTEVENTS.csv ؟

ربما تكون قد حاولت استخراج جميع الملفات المضغوطة ، لكنها فشلت في أحداث المخطط وبالتالي لديك فقط ملف .csv.gz (قد تكون الأسباب لأن الملف المستخرج هو 33 جيجا بايت ونفدت المساحة لديك ، أو نظام الملفات هو FAT32 (!) ، أو من يدري). في هذه الحالة ، قد ترغب في تحرير البرنامج النصي للتحميل لتحميله مباشرة من .csv.gz . يمكنك القيام بذلك عن طريق استبدال:

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

مع

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

شكرا، هذا عملت بالنسبة لي:
\ نسخ my_table_name من البرنامج 'cmd / c type input_data.csv' delimiter '،' csv header؛
input_data.csv مثل حجم 11 جيجا بايت.

مشكلة "لا يمكن نسخ الملفات الكبيرة" تصل إلى 11 و 12 إصدارًا. لكن بالنسبة لـ 10 لا بأس به. كيف يمكن تجاوزها دون ضغط ملفات البيانات ، ولكن ربما لزيادة / تبديل بعض ملفات برنامج Postgresql من الإصدار 10 إلى الإصدار 11 و 12؟
الحل:
انسخ t (c، d) من برنامج 'cmd / c "اكتب x: \ pathto \ file.txt" "مع (تنسيق النص) ؛
- إنه بطيء جدًا بالنسبة لاحتياجاتي. أحتاج إلى سرعة أمر النسخ الافتراضي

يمكنك التفكير في استخدام أدوات سطر الأوامر الأخرى لتقسيم الملف إلى ملفات متعددة ، ثم تحميل الملفات الفردية واحدًا تلو الآخر. في أنظمة يونكس يمكن القيام بذلك باستخدام split ويمكنك تثبيت Coreutils GNU لـ Windows لاستخدامها.

أعتقد أنني واجهت نفس المشكلة التي واجهتك ، لكنني أستخدم الإصدار 12 الجديد جدًا. هل هناك أي طريقة لحلها؟ هل تستخدم ملفات مضغوطة؟

نعم ، إذا تذكرت بشكل صحيح أن الملفات المضغوطة أقل من 4 غيغابايت وتجنبت هذا الخطأ باستخدام البرامج النصية للتحميل المضغوط (7z أو gzip).

حسنًا ، سأجرب هذه الطريقة الآن ، شكرًا جزيلاً لك على ردك

لذا ، لا يوجد حل بديل باستخدام الضغط أو الانقسام على الإطلاق؟ استخدام إصدار 10 من الأمر COPY من Postgresql لمحرك 11 ، 12؟
كما ذكرت:
أحتاج إلى سرعة أمر النسخ الافتراضي ولكن للملفات الكبيرة + إصدار 12
وهذا أمر حيوي لاحتياجاتي.

حسنًا ، PostgreSQL مفتوح المصدر ، لذا فنحن نرحب بك للمحاولة والمساهمة في الإصلاح بنفسك :)

هنا المناقشة ذات الصلة: https://www.postgresql.org/message-id/20181104000405.GA1743٪40paquier.xyz

وإلا لديك الحلول الثلاثة المقترحة في هذا الموضوع (تغيير الإصدار ، واستخدام الملفات المضغوطة ، وتقسيم الملف إلى أجزاء متعددة). أنا متأكد من وجود حلول أخرى أيضًا.

أليس من الواضح نقل جزء العمل من كود v. 10 من وظائف النسخ إلى 11 و 12؟ أم أنه غير مقيد بحيث يتسبب في تحطم الجميع؟ :)

ghYura ، هذا

لقد تلقيت الخطأ أثناء تحميل ملفات CSV في الجداول في كلا الإصدارين 12.X و 13.X ولكنها تعمل مثل السحر في PostgreSQL الإصدار 10.15. شكرا جميعكم للمساعدة :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات