كيفية التحميل بالجملة في كاساندرا بخلاف طريقة النسخ.؟
-
20-12-2019 - |
سؤال
صباحا باستخدام طريقة النسخ لنسخ ملف .csv في جداول كاساندرا..لكني أتلقى خطأ عدم تطابق السجلات ..
Record 41(Line 41) has mismatched number of records (85 instead of 82)
يحدث هذا لجميع ملفات .csv وجميع ملفات .csv يتم إنشاؤها بواسطة النظام.
هل من حل لهذا الخطأ..؟
المحلول
بناءً على رسالة الخطأ، يبدو أن أمر النسخ يعمل لصالحك، حتى سجل 41.ما الذي تستخدمه كمحدد؟المحدد الافتراضي لـ COPY
الأمر عبارة عن فاصلة، وأراهن أن بياناتك تحتوي على بعض الفواصل الإضافية في السطر 41.
بعض الخيارات:
- قم بتحرير بياناتك وإزالة الفواصل الإضافية.
- قم بتعديل ملف .csv الخاص بك لتغليف قيم جميع الحقول الخاصة بك بين علامتي اقتباس مزدوجتين، كما يلي:
COPY
الافتراضيQUOTE
القيمة ".سيسمح لك ذلك بترك الفواصل في النص. - قم بتغيير ملف .csv الخاص بك لتحديده باستخدام الأنابيب | بدلاً من الفاصلة، وقم بتعيين
COPY
الأوامرDELIMITER
خيار ل |. - حاول استخدام إما محمل كاساندرا السائبة أو فائدة json2sstable لاستيراد بياناتك.لم أستخدمها مطلقًا، ولكن أراهن أنك ستواجه مشكلات مماثلة إذا كانت لديك فواصل في مجموعة البيانات الخاصة بك.
لا تنتمي إلى StackOverflow