الانتقال إلى المحتوى الرئيسي

معالجة الخطأ “تعذّر إلحاق البيانات بتنسيق Parquet” في ClickHouse

هل يظهر لك الخطأ “Cannot append data in format Parquet to file” في ClickHouse؟ عادةً ما يظهر الخطأ بالشكل التالي: DB::Exception: Cannot append data in format Parquet to file, because this format doesn't support appends. (CANNOT_APPEND_TO_FILE) لنفترض أنك أنشأت جدولًا يستخدم محرك الجداول File مع تنسيق Parquet.
يمكنك الكتابة إلى الجدول مرةً واحدة فقط:
يؤدي ذلك إلى إنشاء ملف باسم data.Parquet في المجلد data/default/parquet_test. إذا حاولت insert دفعة أخرى:
…سيظهر لك الخطأ التالي:
لا يمكنك الإلحاق بملفات Parquet في ClickHouse. ولكن يمكنك جعل ClickHouse ينشئ ملفًا جديدًا لكل INSERT عبر تمكين إعداد engine_file_allow_create_multiple_files. وإذا كان هذا الإعداد مُمكّنًا، فسيُنشأ ملف جديد عند كل عملية insert باسم يتبع هذا النمط: data.Parquet -> data.1.Parquet -> data.2.Parquet، وهكذا: لنجرب ذلك. سنضع الأمرين في ملف واحد باسم parquet.sql:
شغّل ذلك باستخدام clickhouse-client:
والآن سترى ملفين في data/default/parquet_test (وملفًا جديدًا مع كل عملية insert لاحقة).
ينطبق الإعداد engine_file_allow_create_multiple_files على تنسيقات بيانات أخرى غير قابلة للإلحاق، مثل JSON وORC.
آخر تعديل في ١ يوليو ٢٠٢٦