يتم إنشاء هذه الإعدادات تلقائيًا من المصدر.
input_format_allow_errors_num
يحدّد الحد الأقصى لعدد الأخطاء المقبولة عند القراءة من التنسيقات النصية (CSV وTSV وما إلى ذلك).
القيمة الافتراضية هي 0.
استخدمه دائمًا مع input_format_allow_errors_ratio.
إذا حدث خطأ أثناء قراءة الصفوف، لكن عدّاد الأخطاء لا يزال أقل من input_format_allow_errors_num، فإن ClickHouse يتجاهل الصف وينتقل إلى الصف التالي.
إذا تم تجاوز كلٍّ من input_format_allow_errors_num وinput_format_allow_errors_ratio، يطرح ClickHouse استثناء.
input_format_allow_errors_ratio
يحدّد الحد الأقصى للنسبة المئوية المسموح بها من الأخطاء عند القراءة من التنسيقات النصية (CSV وTSV وما إلى ذلك). تُحدَّد نسبة الأخطاء كعدد ذي فاصلة عائمة بين 0 و1.
القيمة الافتراضية هي 0.
استخدمه دائمًا مع input_format_allow_errors_num.
إذا وقع خطأ أثناء قراءة الصفوف، ولكن ظلّ عدّاد الأخطاء أقل من input_format_allow_errors_ratio، فإن ClickHouse يتجاهل الصف وينتقل إلى الصف التالي.
إذا تم تجاوز كلٍّ من input_format_allow_errors_num وinput_format_allow_errors_ratio، يطرح ClickHouse استثناء.
input_format_allow_seeks
السماح بعمليات seek (أو قراءات النطاق) أثناء قراءة تنسيقات الإدخال ORC وParquet وArrow.
عند التمكين، وإذا كان المصدر يدعم ذلك (مثل ملف محلي، أو S3، أو HTTP مع دعم النطاق وحجم معروف)،
يمكن لـ ClickHouse قراءة نطاقات البايت المطلوبة فقط واستخدام ذاكرة أقل.
عند التعطيل، أو إذا كان المصدر لا يدعم عمليات seek (مثل عدم معرفة حجم الملف، أو إذا كان الدفق غير قابل لإجراء seek)،
قد تلجأ بعض أدوات القراءة إلى تحميل الملف بالكامل في الذاكرة.
مُمكَّن افتراضيًا.
input_format_arrow_allow_missing_columns
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.12 | 1 | السماح افتراضيًا بالأعمدة المفقودة في ملفات Arrow |
السماح بالأعمدة المفقودة عند قراءة تنسيقات إدخال Arrow
input_format_arrow_case_insensitive_column_matching
تجاهل حالة الأحرف عند مطابقة أعمدة Arrow مع أعمدة CH.
input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference
تجاوز الأعمدة ذات الأنواع غير المدعومة أثناء استنتاج المخطط لتنسيق Arrow
input_format_avro_allow_missing_fields
لتنسيق Avro/AvroConfluent: عند عدم العثور على الحقل في المخطط، استَخدم القيمة الافتراضية بدلًا من إرجاع خطأ
input_format_avro_null_as_default
لتنسيق Avro/AvroConfluent: أدرِج القيمة الافتراضية عند وجود NULL في عمود غير Nullable
input_format_binary_decode_types_in_binary_format
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.7 | 0 | أُضيف إعداد جديد للسماح بقراءة أسماء الأنواع بالتنسيق الثنائي في تنسيق الإدخال RowBinaryWithNamesAndTypes |
قراءة أنواع البيانات بالتنسيق الثنائي بدلًا من أسماء الأنواع في تنسيق الإدخال RowBinaryWithNamesAndTypes
input_format_binary_max_type_complexity
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.1 | 1000 | إضافة إعداد جديد للتحكم في الحد الأقصى لعدد عُقد الأنواع عند فك ترميز الأنواع الثنائية. يحمي من المُدخلات الضارة. |
الحد الأقصى لعدد عُقد الأنواع عند فك ترميز الأنواع الثنائية (ليس العمق، بل العدد الإجمالي). Map(String, UInt32) = 3 عُقد. يحمي من المُدخلات الضارة. 0 = غير محدود.
input_format_binary_read_json_as_string
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.10 | 0 | إضافة إعداد جديد لقراءة قيم نوع JSON كسلسلة JSON في تنسيق الإدخال RowBinary |
قراءة قيم نوع البيانات JSON باعتبارها قيم String بتنسيق JSON في تنسيق الإدخال RowBinary.
input_format_bson_skip_fields_with_unsupported_types_in_schema_inference
يتخطّى الحقول ذات الأنواع غير المدعومة أثناء استنتاج المخطط لتنسيق BSON.
input_format_capn_proto_skip_fields_with_unsupported_types_in_schema_inference
تخطَّ الأعمدة ذات الأنواع غير المدعومة أثناء استنتاج المخطط في تنسيق CapnProto
input_format_column_name_matching_mode
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.5 | auto | طابِق أسماء أعمدة الإدخال مع مراعاة حالة الأحرف أولاً، ثم انتقل إلى المطابقة غير الحساسة لحالة الأحرف، بدلاً من اشتراط تطابق حالة الأحرف تمامًا. |
| 26.4 | match_case | إعداد جديد. |
يحدّد وضع مطابقة أسماء الأعمدة عند إدخال البيانات عبر تنسيقات مختلفة (بما في ذلك، على سبيل المثال لا الحصر، JSONEachRow و CSVWithNames و JSONColumns و BSONEachRow و RowBinaryWithNames). الأوضاع المدعومة:
- match_case: طابِق مع مراعاة حالة الأحرف
- ignore_case: طابِق دون مراعاة حالة الأحرف
- auto: يحاول أولاً المطابقة مع مراعاة حالة الأحرف، وإذا فشل، يحاول المطابقة دون مراعاة حالة الأحرف.
input_format_connection_handling
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.2 | 0 | إعداد جديد يتيح تحليل البيانات المتبقية في المخزن المؤقت ومعالجتها إذا أُغلِق الاتصال بشكل غير متوقع |
عند تمكين هذا الخيار، إذا أُغلِق الاتصال بشكل غير متوقع، فسيتم تحليل أي بيانات متبقية في المخزن المؤقت ومعالجتها بدلًا من التعامل معها على أنها خطأ
input_format_csv_allow_cr_end_of_line
إذا ضُبط هذا الإعداد على true، فسيُسمح بـ \r في نهاية السطر إذا لم يتبعه
input_format_csv_allow_variable_number_of_columns
تجاهل الأعمدة الإضافية في إدخال CSV (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، واعتبر الحقول المفقودة في إدخال CSV قيماً افتراضية
input_format_csv_allow_whitespace_or_tab_as_delimiter
يسمح باستخدام المسافات وعلامات الجدولة (\t) كمحدِّد للحقول في سلاسل CSV
input_format_csv_arrays_as_nested_csv
عند قراءة Array من CSV، يُتوقع أن تكون عناصرها قد جرى تسلسلها بتنسيق CSV متداخل ثم وُضعت داخل سلسلة نصية. مثال: "[""Hello"", ""world"", ""42"""" TV""]". يمكن حذف الأقواس المحيطة بالمصفوفة.
input_format_csv_deserialize_separate_columns_into_tuple
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.6 | 1 | أُضيفت طريقة جديدة لتفسير قيم Tuple في تنسيق CSV. |
| 24.3 | 1 | أُضيفت طريقة جديدة لتفسير قيم Tuple في تنسيق CSV. |
إذا ضُبطت هذه القيمة على true، أمكن إلغاء تسلسل الأعمدة المنفصلة المكتوبة بتنسيق CSV إلى عمود Tuple.
ينطبق هذا فقط على Tuple العاري. ويُكتب Nullable(Tuple) دائمًا كحقل CSV واحد (انظر output_format_csv_serialize_tuple_into_separate_columns)، وبالمثل يُقرأ مرة أخرى من حقل واحد فقط، وليس من أعمدة منفصلة مطلقًا، بغض النظر عن هذا الإعداد. تحليل الأعمدة المنفصلة غير مدعوم لـ Nullable(Tuple) لأن الحقل الأول \N ملتبس (فقد يكون NULL الخارجي للـ tuple أو NULL للعنصر الأول فيه).
بما أن Tuple العاري يشغل حقلًا واحدًا لكل عنصر، فإن \N في حقل عنصر مباشر على المستوى الأعلى يمثل ذلك العنصر لا العمود بأكمله، لذا ينطبق input_format_null_as_default على ذلك العنصر. ويُرفض الصف الذي يوفّر حقلًا واحدًا للـ tuple بأكمله لافتقاره إلى حقول العناصر المتبقية، بدلًا من استخدام القيمة الافتراضية للعمود. اضبط هذا الإعداد على 0 لقراءة هذا الحقل بوصفه العمود بأكمله مجددًا. ولا يزال \N في حقل عنصر ضمن Tuple متداخل يُقرأ بوصفه ذلك العنصر المتداخل بأكمله.
input_format_csv_detect_header
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.1 | 1 | اكتشاف صف الرأس في تنسيق CSV افتراضيًا |
اكتشاف صف الرأس الذي يحتوي على الأسماء والأنواع تلقائيًا في تنسيق CSV
input_format_csv_empty_as_default
اعتبر الحقول الفارغة في إدخال CSV قيماً افتراضية.
input_format_csv_enum_as_number
اعتبر قيم enum المُدرجة في تنسيقات CSV فهارسَ enum
input_format_csv_missing_nullable_as_empty_string
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.7 | 0 | إعداد جديد لقراءة القيمة المفقودة من `Nullable(String)` في CSV كسلسلة فارغة بدلًا من NULL. |
يتحكم هذا الإعداد في كيفية قراءة Nullable(String) عند وجود قيمة مفقودة في CSV. وتكون القيمة المفقودة عبارة عن فراغ بين الفواصل أو قبلها أو بعدها، من دون أن تكون محاطة بعلامات اقتباس. إذا كان هذا الإعداد مفعّلًا، فبصرف النظر عن قيمة input_format_csv_empty_as_default، ستُفسَّر القيمة المفقودة لـ Nullable(String) على أنها String فارغة، وليس NULL.
input_format_csv_skip_first_lines
يتخطّى عددًا محددًا من الأسطر في بداية البيانات بتنسيق CSV
input_format_csv_skip_trailing_empty_lines
تخطّي الأسطر الفارغة الأخيرة في تنسيق CSV
input_format_csv_trim_whitespaces
يُزيل محارف المسافات وعلامات الجدولة (\t) من بداية سلاسل CSV ونهايتها
input_format_csv_try_infer_numbers_from_strings
إذا كان هذا الإعداد مفعّلًا، فسيحاول ClickHouse أثناء استنتاج المخطط استنتاج القيم العددية من الحقول النصية. وقد يكون ذلك مفيدًا إذا كانت بيانات CSV تحتوي على أرقام UInt64 بين علامتَي اقتباس.
يكون هذا الإعداد معطّلًا افتراضيًا.
input_format_csv_try_infer_strings_from_quoted_tuples
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.6 | 1 | أُضيفت طريقة جديدة لتفسير Tuples في تنسيق CSV. |
| 24.3 | 1 | أُضيفت طريقة جديدة لتفسير Tuples في تنسيق CSV. |
اعتبر Tuples المحاطة بعلامتَي اقتباس في بيانات الإدخال قيماً من النوع String.
input_format_csv_use_best_effort_in_schema_inference
استخدم بعض التحسينات والآليات الاستدلالية لاستنتاج المخطط في تنسيق CSV
input_format_csv_use_default_on_bad_values
السماح بتعيين قيمة افتراضية للعمود عند تعذّر فك تسلسل حقل CSV بسبب قيمة غير صالحة
input_format_custom_allow_variable_number_of_columns
تجاهل الأعمدة الزائدة في إدخال CustomSeparated (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، واعتبر الحقول المفقودة في إدخال CustomSeparated قيماً افتراضية
input_format_custom_detect_header
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.1 | 1 | اكتشاف سطر صف الرأس في تنسيق CustomSeparated افتراضيًا |
اكتشاف سطر صف الرأس الذي يحتوي على الأسماء والأنواع تلقائيًا في تنسيق CustomSeparated
input_format_custom_skip_trailing_empty_lines
تجاهل الأسطر الفارغة في نهاية تنسيق CustomSeparated
input_format_defaults_for_omitted_fields
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 19.12 | 1 | تمكين احتساب تعبيرات القيم الافتراضية المعقدة للحقول المُغفلة لبعض تنسيقات الإدخال، لأن هذا هو السلوك المتوقع |
عند تنفيذ استعلامات INSERT، تُستبدل قيم أعمدة الإدخال المُغفلة بالقيم الافتراضية للأعمدة المقابلة. ينطبق هذا الخيار على تنسيق JSONEachRow (وتنسيقات JSON الأخرى)، وCSV، وTabSeparated، وTSKV، وParquet، وArrow، وAvro، وORC، وNative، وكذلك التنسيقات ذات اللواحق WithNames/WithNamesAndTypes.
القيم الممكنة:
- 0 — معطّل.
- 1 — مفعّل.
input_format_force_null_for_omitted_fields
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.5 | 0 | تعطيل القيم الافتراضية للنوع للحقول المُغفلة عند الحاجة |
فرض تهيئة الحقول المُغفلة بقيم NULL
input_format_geojson_unsupported_geometry_handling
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.6 | throw | إعداد جديد يتحكم في كيفية التعامل مع أنواع الأشكال الهندسية في GeoJSON التي لا يمكن تمثيلها بالنوع `Geometry` (مثل `GeometryCollection`) |
يتحكم هذا الإعداد في ما يحدث عندما يلزم تخزين نوع شكل هندسي صالح من GeoJSON لا يمكن تمثيله بالنوع Geometry في ClickHouse (مثل GeometryCollection) في العمود geometry أثناء قراءة إدخال GeoJSON.
القيم الممكنة:
'throw'(الافتراضي) — إطلاق استثناء.'null'— إدراج قيمةNULLفي العمودgeometryومتابعة التحليل.
ينطبق هذا فقط عندما يكون العمود geometry مُجسَّدًا فعليًا. وإذا لم يكن عمود إخراج مطلوبًا، فيُتحقق من أن هذا الشكل الهندسي صحيح البنية، لكنه لا يفعّل هذا السلوك.
input_format_hive_text_allow_variable_number_of_columns
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.4 | 1 | تجاهل الأعمدة الإضافية في إدخال Hive Text (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، وتعامل مع الحقول المفقودة في إدخال Hive Text على أنها قيم افتراضية. |
تجاهل الأعمدة الإضافية في إدخال Hive Text (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، وتعامل مع الحقول المفقودة في إدخال Hive Text على أنها قيم افتراضية.
input_format_hive_text_collection_items_delimiter
الفاصل بين عناصر المجموعات (Array أو Map) في Hive Text File
input_format_hive_text_fields_delimiter
الفاصل المستخدم بين الحقول في Hive Text File
input_format_hive_text_map_keys_delimiter
الفاصل بين المفتاح والقيمة في كل زوج ضمن Hive Text File
input_format_import_nested_json
يُمكّن أو يعطّل إدراج بيانات JSON التي تحتوي على كائنات متداخلة.
التنسيقات المدعومة:
القيم الممكنة:
- 0 — معطّل.
- 1 — مفعّل.
انظر أيضًا:
- استخدام البُنى Nested مع التنسيق
JSONEachRow.
input_format_ipv4_default_on_conversion_error
ستستخدم عملية إلغاء تسلسل IPv4 القيم الافتراضية بدلًا من طرح استثناء عند حدوث خطأ في التحويل.
مُعطَّل افتراضيًا.
input_format_ipv6_default_on_conversion_error
ستُستخدم القيم الافتراضية عند إلغاء تسلسل IPV6 بدلًا من رفع استثناء عند حدوث خطأ في التحويل.
معطّل افتراضيًا.
input_format_json_compact_allow_variable_number_of_columns
اسمح بعدد متغيّر من الأعمدة في الصفوف ضمن تنسيقات الإدخال JSONCompact/JSONCompactEachRow. تجاهل الأعمدة الإضافية في الصفوف التي تحتوي على أعمدة أكثر من المتوقع، واعتبر الأعمدة المفقودة قيماً افتراضية.
معطّل افتراضياً.
input_format_json_defaults_for_missing_elements_in_named_tuple
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.1 | 1 | السماح افتراضيًا بالعناصر المفقودة في كائنات JSON عند قراءة الـ named tuple |
يُدرِج القيم الافتراضية للعناصر المفقودة في كائن JSON أثناء تحليل الـ named tuple.
لا يعمل هذا الإعداد إلا عند تمكين الإعداد input_format_json_named_tuples_as_objects.
مُمكَّن افتراضيًا.
input_format_json_empty_as_default
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.9 | 0 | أُضيف إعداد جديد يتيح التعامل مع الحقول الفارغة في إدخال JSON باعتبارها قيمًا افتراضية. |
عند التمكين، تُستبدل حقول الإدخال الفارغة في JSON بالقيم الافتراضية. أمّا إذا كانت تعبيرات القيم الافتراضية معقدة، فيجب أيضًا تمكين input_format_defaults_for_omitted_fields.
القيم الممكنة:
- 0 — تعطيل.
- 1 — تمكين.
input_format_json_ignore_unknown_keys_in_named_tuple
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.3 | 1 | تحسين تحليل كائنات JSON على أنها named tuples |
تجاهل المفاتيح غير المعروفة في كائن JSON الخاص بـ named tuples.
مفعَّل افتراضيًا.
input_format_json_ignore_unnecessary_fields
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.4 | 1 | تجاهل الحقول غير الضرورية وعدم تحليلها. قد لا يؤدي تفعيل هذا الخيار إلى إطلاق استثناءات عند وجود سلاسل JSON بتنسيق غير صالح أو تحتوي على حقول مكررة |
تجاهل الحقول غير الضرورية وعدم تحليلها. قد لا يؤدي تفعيل هذا الخيار إلى إطلاق استثناءات عند وجود سلاسل JSON بتنسيق غير صالح أو تحتوي على حقول مكررة
input_format_json_infer_array_of_dynamic_from_array_of_different_types
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.8 | 1 | استنتاج Array(Dynamic) افتراضيًا لمصفوفات JSON ذات القيم من أنواع مختلفة |
إذا كان هذا الإعداد مُمكّنًا، فسيستخدم ClickHouse أثناء استنتاج المخطط النوع Array(Dynamic) لمصفوفات JSON التي تتضمن قيمًا من أنواع بيانات مختلفة.
مثال:
SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=1;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');┌─name─┬─type───────────┐
│ a │ Array(Dynamic) │
└──────┴────────────────┘SET input_format_json_infer_array_of_dynamic_from_array_of_different_types=0;
DESC format(JSONEachRow, '{"a" : [42, "hello", [1, 2, 3]]}');┌─name─┬─type─────────────────────────────────────────────────────────────┐
│ a │ Tuple(Nullable(Int64), Nullable(String), Array(Nullable(Int64))) │
└──────┴──────────────────────────────────────────────────────────────────┘مُفعَّل افتراضيًا.
input_format_json_infer_incomplete_types_as_strings
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.9 | 1 | السماح، افتراضيًا، باستنتاج الأنواع غير المكتملة كـ Strings في تنسيقات JSON |
يسمح باستخدام نوع String لمفاتيح JSON التي لا تحتوي في عينة البيانات أثناء استنتاج المخطط إلا على Null/{}/[].
في تنسيقات JSON، يمكن قراءة أي قيمة على أنها String، وبذلك يمكن تجنب أخطاء مثل Cannot determine type for column 'column_name' by first 25000 rows of data, most likely this column contains only Nulls or empty Arrays/Maps أثناء استنتاج المخطط،
وذلك باستخدام نوع String للمفاتيح ذات الأنواع غير المعروفة.
مثال:
SET input_format_json_infer_incomplete_types_as_strings = 1, input_format_json_try_infer_named_tuples_from_objects = 1;
DESCRIBE format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');
SELECT * FROM format(JSONEachRow, '{"obj" : {"a" : [1,2,3], "b" : "hello", "c" : null, "d" : {}, "e" : []}}');النتيجة:
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj │ Tuple(a Array(Nullable(Int64)), b Nullable(String), c Nullable(String), d Nullable(String), e Array(Nullable(String))) │ │ │ │ │ │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
┌─obj────────────────────────────┐
│ ([1,2,3],'hello',NULL,'{}',[]) │
└────────────────────────────────┘مفعّل افتراضيًا.
input_format_json_map_as_array_of_tuples
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.7 | 0 | إعداد جديد |
إلغاء تسلسل أعمدة maps كمصفوفات JSON من Tuples.
معطّل افتراضيًا.
input_format_json_max_depth
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.8 | 1000 | كان غير محدود في الإصدارات السابقة، لكن ذلك لم يكن آمنًا. |
الحد الأقصى لعمق حقل في JSON. هذا ليس حدًا صارمًا، ولا يجب تطبيقه بدقة تامة.
input_format_json_max_object_size
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 536870912 | إعداد جديد لتقييد الحجم الأقصى لكائن JSON واحد بالبايت |
الحد الأقصى المسموح به لحجم كائن JSON واحد بالبايت. تُرفض الكائنات التي تتجاوز هذا الحد لأنها قد تكون غير سليمة. يحمي ذلك من استنفاد الذاكرة عند تحليل مستند JSON غير سليم ككائن واحد. يُطبّق الحد نفسه في مسارات التحليل المتوازية وغير المتوازية. اضبطه على 0 لتعطيل الفحص.
input_format_json_max_string_column_growth_step
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 0 | إعداد جديد للحد من النمو بمضاعفات العدد اثنين للمخازن المؤقتة الداخلية من نوع String لعمود JSON أثناء تخزين JSON فعليًا، للحد من التخصيص الزائد. |
عند إنشاء المخازن المؤقتة الداخلية من نوع String لعمود JSON أثناء تحليل JSON من سلسلة نصية، حدِّد نموها بمضاعفات العدد اثنين بهذا العدد من البايتات: فعندما يصل الحجم المحجوز إلى هذه القيمة، ينمو المخزن المؤقت بزيادات بهذا الحجم بدلًا من أن يتضاعف. يحد هذا من التخصيص الزائد لأعمدة JSON الكبيرة. تعني القيمة 0 عدم وجود حد (مضاعفة فقط).
input_format_json_named_tuples_as_objects
حلّل الأعمدة من نوع named tuple على أنها كائنات JSON.
مفعّل افتراضيًا.
input_format_json_read_arrays_as_strings
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.9 | 1 | السماح افتراضيًا بقراءة مصفوفات JSON كسلاسل نصية في تنسيقات JSON |
السماح بتحليل مصفوفات JSON كسلاسل نصية في تنسيقات إدخال JSON.
مثال:
SET input_format_json_read_arrays_as_strings = 1;
SELECT arr, toTypeName(arr), JSONExtractArrayRaw(arr)[3] from format(JSONEachRow, 'arr String', '{"arr" : [1, "Hello", [1,2,3]]}');النتيجة:
┌─arr───────────────────┬─toTypeName(arr)─┬─arrayElement(JSONExtractArrayRaw(arr), 3)─┐
│ [1, "Hello", [1,2,3]] │ String │ [1,2,3] │
└───────────────────────┴─────────────────┴───────────────────────────────────────────┘مُفعَّل افتراضيًا.
input_format_json_read_bools_as_numbers
السماح بتفسير القيم المنطقية على أنها أرقام في تنسيقات إدخال JSON.
مفعّل افتراضيًا.
input_format_json_read_bools_as_strings
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.1 | 1 | السماح افتراضيًا بقراءة القيم المنطقية على أنها سلاسل نصية في تنسيقات JSON |
السماح بتحليل القيم المنطقية على أنها سلاسل نصية في تنسيقات إدخال JSON.
مفعّل افتراضيًا.
input_format_json_read_numbers_as_strings
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.9 | 1 | السماح بقراءة الأرقام كسلاسل نصية في تنسيقات JSON افتراضيًا |
السماح بتحليل الأرقام كسلاسل نصية في تنسيقات إدخال JSON.
مُفعّل افتراضيًا.
input_format_json_read_objects_as_strings
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.1 | 1 | تمكين قراءة كائنات JSON المتداخلة كسلاسل نصية، في حين أن النوع Object لا يزال تجريبيًا |
السماح بتحليل كائنات JSON كسلاسل نصية في تنسيقات إدخال JSON.
مثال:
SET input_format_json_read_objects_as_strings = 1;
CREATE TABLE test (id UInt64, obj String, date Date) ENGINE=Memory();
INSERT INTO test FORMAT JSONEachRow {"id" : 1, "obj" : {"a" : 1, "b" : "Hello"}, "date" : "2020-01-01"};
SELECT * FROM test;النتيجة:
┌─id─┬─obj──────────────────────┬───────date─┐
│ 1 │ {"a" : 1, "b" : "Hello"} │ 2020-01-01 │
└────┴──────────────────────────┴────────────┘مُفعَّل افتراضيًا.
input_format_json_throw_on_bad_escape_sequence
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.4 | 1 | السماح بحفظ سلاسل JSON التي تحتوي على تسلسلات هروب غير صالحة |
يؤدي إلى إصدار استثناء إذا كانت سلسلة JSON تحتوي على تسلسل هروب غير صالح في تنسيقات إدخال JSON. وإذا كان هذا الإعداد معطّلًا، فستبقى تسلسلات الهروب غير الصالحة كما هي في البيانات.
مفعّل افتراضيًا.
input_format_json_try_infer_named_tuples_from_objects
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.9 | 1 | استنتاج Tuples مسماة من كائنات JSON افتراضيًا |
إذا كان هذا الإعداد مُمكّنًا، فسيحاول ClickHouse أثناء استنتاج المخطط استنتاج Tuple مسمّى من كائنات JSON. وسيحتوي الـ Tuple المسمّى الناتج على جميع العناصر من جميع كائنات JSON المقابلة في البيانات النموذجية.
مثال:
SET input_format_json_try_infer_named_tuples_from_objects = 1;
DESC format(JSONEachRow, '{"obj" : {"a" : 42, "b" : "Hello"}}, {"obj" : {"a" : 43, "c" : [1, 2, 3]}}, {"obj" : {"d" : {"e" : 42}}}')النتيجة:
┌─name─┬─type───────────────────────────────────────────────────────────────────────────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ obj │ Tuple(a Nullable(Int64), b Nullable(String), c Array(Nullable(Int64)), d Tuple(e Nullable(Int64))) │ │ │ │ │ │
└──────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘مُفعَّل افتراضيًا.
input_format_json_try_infer_numbers_from_strings
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.9 | 0 | لا تستدل على الأرقام من السلاسل النصية في تنسيقات JSON افتراضيًا لتجنّب أخطاء محتملة في التحليل |
إذا كان مُمكّنًا، فسيحاول ClickHouse أثناء استنتاج المخطط استنتاج الأرقام من حقول السلاسل النصية. وقد يكون ذلك مفيدًا إذا كانت بيانات JSON تحتوي على أرقام UInt64 بين علامتَي اقتباس.
يكون معطّلًا افتراضيًا.
input_format_json_use_string_type_for_ambiguous_paths_in_named_tuples_inference_from_objects
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.3 | 0 | السماح باستخدام النوع String للمسارات الملتبسة أثناء استنتاج الـ Tuples المسمّاة من كائنات JSON |
استخدم النوع String بدلًا من استثناء عند وجود مسارات ملتبسة في كائنات JSON أثناء استنتاج الـ Tuples المسمّاة
input_format_json_validate_types_from_metadata
بالنسبة إلى تنسيقات الإدخال JSON/JSONCompact/JSONColumnsWithMetadata، إذا تم ضبط هذا الإعداد على 1، فستُقارَن الأنواع الموجودة في البيانات الوصفية ضمن بيانات الإدخال بأنواع الأعمدة المقابلة في الجدول.
مفعّل افتراضيًا.
input_format_max_block_size_bytes
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.5 | 0 | إعداد جديد لتقييد حجم البايتات إذا كانت الكتل المُنشأة بواسطة تنسيق الإدخال |
يحدّ من حجم الكتل المتكوّنة أثناء تحليل البيانات في تنسيقات الإدخال، بالبايتات. يُستخدم في تنسيقات الإدخال المعتمدة على الصفوف عندما تتكوّن الكتلة من جهة ClickHouse. 0 تعني عدم وجود حد بالبايتات.
input_format_max_block_wait_ms
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.2 | 0 | إعداد جديد لتقييد الحد الأقصى لوقت الانتظار بالمللي ثانية قبل إخراج كتلة بواسطة تنسيق الإدخال |
يحدّد الحد الأقصى للوقت، بالمللي ثانية، الذي يجب انتظاره قبل إخراج كتلة أثناء التحليل في تنسيقات الإدخال القائمة على الصفوف. وتعني القيمة 0 عدم وجود حد.
مثال: بث أحدث تغييرات Wikipedia إلى ClickHouse
clickhouse-client --query 'CREATE TABLE wikipedia_edits (data JSON)'
curl -sS --globoff -H 'Accept: application/json' --no-buffer \
'https://stream.wikimedia.org/v2/stream/recentchange' \
| clickhouse-client \
--query 'INSERT INTO wikipedia_edits FORMAT JSONAsObject' \
--input_format_max_block_wait_ms 1000 \
--input_format_connection_handling 1 \
--min_insert_block_size_rows 0 \
--min_insert_block_size_bytes 0input_format_max_bytes_to_read_for_schema_inference
الحد الأقصى لكمية البيانات، بالبايت، التي يمكن قراءتها لأغراض الاستنتاج التلقائي للمخطط.
input_format_max_rows_to_read_for_schema_inference
الحد الأقصى لعدد صفوف البيانات التي تتم قراءتها للاستنتاج التلقائي للمخطط.
input_format_msgpack_number_of_columns
عدد الأعمدة في بيانات MsgPack المُدخلة. يُستخدم للاستنتاج التلقائي للمخطط من البيانات.
input_format_mysql_dump_map_column_names
يطابق الأعمدة في جدول MySQL dump مع الأعمدة في جدول ClickHouse حسب الأسماء
input_format_mysql_dump_table_name
اسم الجدول في ملف تفريغ MySQL الذي ستُقرأ منه البيانات
input_format_native_allow_types_conversion
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.3 | 1 | السماح بتحويل أنواع البيانات في صيغة الإدخال Native |
السماح بتحويل أنواع البيانات في صيغة الإدخال Native
input_format_native_decode_types_in_binary_format
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.7 | 0 | إضافة إعداد جديد للسماح بقراءة أسماء الأنواع بالتنسيق الثنائي في صيغة الإخراج Native |
قراءة أنواع البيانات بالتنسيق الثنائي بدلًا من أسماء الأنواع في صيغة الإدخال Native
input_format_null_as_default
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 21.1 | 1 | السماح افتراضيًا بإدراج NULL كقيمة افتراضية في تنسيقات الإدخال |
يعمل هذا الإعداد على تمكين أو تعطيل تهيئة الحقول ذات القيمة NULL باستخدام القيم الافتراضية، إذا كان نوع بيانات هذه الحقول غير Nullable.
إذا كان نوع العمود غير Nullable وكان هذا الإعداد معطّلًا، فإن إدراج NULL يؤدي إلى حدوث استثناء. أما إذا كان نوع العمود Nullable، فتُدرج قيم NULL كما هي، بغض النظر عن هذا الإعداد.
ينطبق هذا الإعداد على معظم تنسيقات الإدخال.
بالنسبة إلى تعبيرات القيم الافتراضية المعقدة، يجب أيضًا تمكين input_format_defaults_for_omitted_fields.
القيم الممكنة:
- 0 — يؤدي إدراج
NULLفي عمود غير Nullable إلى حدوث استثناء. - 1 — تُهيَّأ الحقول ذات القيمة
NULLباستخدام القيم الافتراضية للعمود.
input_format_orc_allow_missing_columns
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.12 | 1 | السماح بالأعمدة المفقودة في ملفات ORC افتراضيًا |
السماح بالأعمدة المفقودة عند قراءة تنسيقات إدخال ORC
input_format_orc_case_insensitive_column_matching
تجاهل حالة الأحرف عند مطابقة أعمدة ORC بأعمدة CH.
input_format_orc_dictionary_as_low_cardinality
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.10 | 1 | اعتبار الأعمدة المشفّرة بقاموس ORC أعمدة من النوع LowCardinality عند قراءة ملفات ORC |
اعتبار الأعمدة المشفّرة بقاموس ORC أعمدة من النوع LowCardinality عند قراءة ملفات ORC.
input_format_orc_filter_push_down
عند قراءة ملفات ORC، يتم تخطي الشرائط أو مجموعات الصفوف بالكامل استنادًا إلى تعبيرات WHERE/PREWHERE، أو إحصاءات الحد الأدنى/الحد الأقصى، أو مرشح bloom في البيانات الوصفية لـ ORC.
input_format_orc_reader_time_zone_name
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.7 | GMT | اسم المنطقة الزمنية لقارئ صفوف ORC، والمنطقة الزمنية الافتراضية له هي GMT. |
اسم المنطقة الزمنية لقارئ صفوف ORC، والمنطقة الزمنية الافتراضية له هي GMT.
input_format_orc_row_batch_size
حجم الدفعة عند قراءة مقاطع ORC.
input_format_orc_skip_columns_with_unsupported_types_in_schema_inference
تخطَّ الأعمدة ذات الأنواع غير المدعومة عند استنتاج المخطط لتنسيق ORC
input_format_parallel_parsing
يُفعّل أو يُعطّل تحليل تنسيقات البيانات بالتوازي مع الحفاظ على الترتيب. وهو مدعوم فقط لتنسيقات TabSeparated (TSV) وTSKV وCSV وJSONEachRow.
القيم الممكنة:
- 1 — مُمكّن.
- 0 — مُعطّل.
input_format_parquet_allow_geoparquet_parser
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.5 | 1 | إعداد جديد لاستخدام الأعمدة الجغرافية في ملف Parquet |
استخدم محلّل الأعمدة الجغرافية لتحويل Array(UInt8) إلى أنواع Point/MultiPoint/Linestring/Polygon/MultiLineString/MultiPolygon
input_format_parquet_allow_missing_columns
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.12 | 1 | السماح افتراضيًا بالأعمدة المفقودة في ملفات Parquet |
السماح بالأعمدة المفقودة عند قراءة تنسيقات إدخال Parquet
input_format_parquet_bloom_filter_push_down
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.5 | 1 | عند قراءة ملفات Parquet، تُتجاوز مجموعات الصفوف بأكملها استنادًا إلى تعبيرات WHERE/PREWHERE وإلى bloom filter في البيانات الوصفية لـ Parquet. |
| 24.10 | 0 | عند قراءة ملفات Parquet، تُتجاوز مجموعات الصفوف بأكملها استنادًا إلى تعبيرات WHERE/PREWHERE وإلى bloom filter في البيانات الوصفية لـ Parquet. |
عند قراءة ملفات Parquet، تُتجاوز مجموعات الصفوف بأكملها استنادًا إلى تعبيرات WHERE وإلى bloom filter في البيانات الوصفية لـ Parquet.
input_format_parquet_case_insensitive_column_matching
تجاهل حالة الأحرف عند مطابقة أعمدة Parquet بأعمدة CH.
input_format_parquet_dictionary_filter_push_down
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 1048576 | إعداد جديد يتيح استبعاد مجموعات الصفوف في Parquet استنادًا إلى محتويات صفحات القاموس (القارئ v3). القيمة هي الحد الأقصى لحجم صفحة القاموس بالبايت الذي ينطبق عليه هذا التحسين؛ ويؤدي تعيينها إلى 0 (السلوك السابق) إلى تعطيله. |
عند قراءة ملفات Parquet (باستخدام القارئ v3)، تُتجاوز مجموعات الصفوف كاملةً استنادًا إلى تعبيرات WHERE/PREWHERE ومحتويات صفحات القاموس، إذا كانت جميع صفحات البيانات في جزء من العمود مرمّزة باستخدام القاموس. القيمة هي الحد الأقصى لحجم صفحة القاموس (بالبايت) الذي يُطبّق عليه هذا التحسين؛ اضبطها على 0 لتعطيله. يتقدّم هذا التحسين على bloom filter عند توفرهما معًا.
input_format_parquet_enable_json_parsing
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.6 | 1 | عند قراءة ملفات Parquet، فسِّر أعمدة JSON كأعمدة JSON في ClickHouse. |
عند قراءة ملفات Parquet، فسِّر أعمدة JSON كأعمدة JSON في ClickHouse.
input_format_parquet_enable_row_group_prefetch
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.10 | 1 | تمكين الجلب المسبق لمجموعات الصفوف أثناء تحليل Parquet. لا يدعم الجلب المسبق حاليًا إلا التحليل أحادي الخيط. |
تمكين الجلب المسبق لمجموعات الصفوف أثناء تحليل Parquet. لا يدعم الجلب المسبق حاليًا إلا التحليل أحادي الخيط.
input_format_parquet_filter_push_down
عند قراءة ملفات Parquet، يتم تخطي مجموعات الصفوف بالكامل استنادًا إلى تعبيرات WHERE/PREWHERE وإحصاءات الحد الأدنى/الحد الأقصى في البيانات الوصفية لـ Parquet.
input_format_parquet_local_file_min_bytes_for_seek
الحد الأدنى لعدد البايتات المطلوب لكي تُجري القراءة المحلية (للملف) عملية seek بدلًا من القراءة مع التجاهل في تنسيق إدخال Parquet
input_format_parquet_local_time_as_utc
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.11 | 1 | استخدم نوع DateTime64(..., 'UTC') الأنسب لنوع parquet 'local time without timezone'. |
يحدّد نوع البيانات الذي يستخدمه استنتاج المخطط لطوابع Parquet الزمنية عندما تكون isAdjustedToUTC=false. إذا كانت القيمة true: DateTime64(…, 'UTC')، وإذا كانت false: DateTime64(…). لا يُعد أيّ من السلوكين صحيحًا تمامًا، لأن ClickHouse لا يوفّر نوع بيانات للوقت المحلي وفق ساعة الحائط. وعلى نحو غير بديهي، يُرجّح أن يكون الخيار 'true' أقلّهما خطأً، لأن تنسيق الطابع الزمني 'UTC' على هيئة String سيُنتج تمثيلًا للوقت المحلي الصحيح.
input_format_parquet_max_block_size
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.6 | 65409 | رفع حجم الكتلة لقارئ Parquet. |
الحد الأقصى لحجم الكتلة لقارئ Parquet.
input_format_parquet_memory_high_watermark
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.8 | 4294967296 | إعداد جديد |
الحد التقريبي للذاكرة لقارئ Parquet v3. يقيّد عدد مجموعات الصفوف أو الأعمدة التي يمكن قراءتها بالتوازي. عند قراءة عدة ملفات في استعلام واحد، يُطبَّق هذا الحد على إجمالي استهلاك الذاكرة عبر تلك الملفات.
input_format_parquet_memory_low_watermark
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.8 | 2097152 | إعداد جديد |
يُجدول عمليات الجلب الاستباقي بوتيرة أكثر كثافة إذا كان استخدام الذاكرة أقل من الحدّ المحدد. قد يكون ذلك مفيدًا، على سبيل المثال، إذا كان هناك العديد من مرشحات bloom الصغيرة المطلوب قراءتها عبر الشبكة.
input_format_parquet_page_filter_push_down
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.8 | 1 | إعداد جديد (لا تأثير له عند تعطيل input_format_parquet_use_native_reader_v3) |
تجاوز الصفحات بالاستناد إلى قيم الحد الأدنى/الحد الأقصى من فهرس العمود.
input_format_parquet_prefer_block_bytes
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.6 | 16744704 | متوسط حجم الكتلة بالبايت الناتج عن قارئ Parquet. |
متوسط حجم الكتلة بالبايت الناتج عن قارئ Parquet
input_format_parquet_preserve_order
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.5 | 0 | السماح لقارئ Parquet بإعادة ترتيب الصفوف لتحقيق توازٍ أفضل. |
تجنّب إعادة ترتيب الصفوف عند القراءة من ملفات Parquet. لا يُنصح بهذا، لأن ترتيب الصفوف ليس مضمونًا عادةً، وقد تفسده أجزاء أخرى من مسار تنفيذ الاستعلام. استخدم ORDER BY _row_number بدلًا من ذلك.
input_format_parquet_skip_columns_with_unsupported_types_in_schema_inference
تخطَّ الأعمدة ذات الأنواع غير المدعومة أثناء استنتاج المخطط لتنسيق Parquet
input_format_parquet_spatial_filter_push_down
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 1 | إعداد جديد: تخطّي مجموعات الصفوف والصفحات في GeoParquet استنادًا إلى الشروط المكانية وإحصاءات المربع المحيط |
عند قراءة ملفات GeoParquet، تجاوز مجموعات الصفوف بالكامل، وبالاقتران مع input_format_parquet_page_filter_push_down، الصفحات الفردية، استنادًا إلى الشروط المكانية في عبارة WHERE وإحصاءات المربع المحيط للهندسة (العمودين geospatial_statistics.bbox أو covering.bbox) في البيانات الوصفية لـ Parquet.
input_format_parquet_use_offset_index
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.8 | 1 | إعداد جديد (لا تأثير له عند تعطيل input_format_parquet_use_native_reader_v3) |
تعديل طفيف على طريقة قراءة الصفحات من ملف Parquet عند عدم استخدام تصفية الصفحات.
input_format_parquet_verify_checksums
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.11 | 1 | إعداد جديد. |
التحقق من قيم التحقق للصفحات عند قراءة ملفات Parquet.
input_format_protobuf_flatten_google_wrappers
فعّل مغلّفات Google للأعمدة العادية غير المتداخلة، على سبيل المثال google.protobuf.StringValue 'str' للعمود String 'str'. وبالنسبة إلى أعمدة Nullable، تُعرَف المغلّفات الفارغة على أنها قيم افتراضية، وتُعامَل القيم غير الموجودة على أنها NULL
input_format_protobuf_oneof_presence
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.9 | 0 | إعداد جديد |
يحدِّد أي حقل من protobuf oneof تم العثور عليه من خلال تعيين قيمة enum في عمود خاص
input_format_protobuf_skip_fields_with_unsupported_types_in_schema_inference
تخطّي الحقول ذات الأنواع غير المدعومة أثناء استنتاج المخطط لتنسيق Protobuf
input_format_read_datetime_number_as_raw_value
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 0 | اعتبارًا من الإصدار 26.8، يُفسَّر الرقم غير المقتبس لعمود `DateTime`/`DateTime64` في مسارات `JSON` و`Values`/`Quoted` (وكذلك في `JSONExtract` ونوع `JSON` المحدد النوع) على أنه Unix timestamp بالثواني، بما يتوافق مع تنسيق `Values` و`CAST` و`toDateTime64`. اضبط هذا الإعداد على `true` (أو `SET compatibility = '26.7'`) لاستعادة السلوك السابق للإصدار 26.8، حيث كان العدد الصحيح غير المقتبس المُمرَّر إلى عمود `DateTime64` يُقرأ باعتباره القيمة الخام المُقاسة (ticks). لا ينطبق هذا الإعداد على التنسيقات المفصولة بعلامات الجدولة أو CSV وغيرها من التنسيقات ذات الإفلات/النص الكامل. |
اقرأ عددًا صحيحًا غير مقتبس لعمود DateTime/DateTime64 باعتباره القيمة الخام الأساسية — بالثواني لـ
DateTime، وبـ ticks وفق دقة العمود لـ DateTime64 — بدلًا من Unix timestamp بالثواني.
يكون هذا الإعداد معطّلًا افتراضيًا: إذ يُفسَّر الرقم غير المقتبس على أنه Unix timestamp بالثواني (مع دقة اختيارية دون الثانية)،
بما يتوافق مع تنسيق Values وCAST وtoDateTime64. فعّله (أو SET compatibility = '26.7') لاستعادة
سلوك الإصدارات حتى 26.7 ضمنًا، حيث كان العدد الصحيح غير المقتبس المُمرَّر إلى عمود DateTime64
يُفسَّر باعتباره القيمة الخام المُقاسة (ticks). لا يقبل المسار legacy إلا عددًا صحيحًا غير مقتبس بهذا الشكل:
فعند تمكين الإعداد، يُرفض الرقم الذي يحتوي على جزء كسري أو أسّي عبر مسارات إدخال الصفوف
(كما كان الحال قبل 26.8)، بينما في JSONExtract ونوع JSON المحدد النوع، يظل الرقم الكسري يُقرأ
كثوانٍ لـ DateTime64 ويُرفض لـ DateTime (كما كان الحال أيضًا قبل 26.8). في تنسيق Values نفسه،
يعود الرقم الذي يرفضه محلّل التدفق إلى تقييم تعبير SQL ويُقرأ بالثواني،
سواء قبل 26.8 أو عند تمكين هذا الإعداد — لذلك يكون سلوك Values للرقم الكسري
متطابقًا في جميع الإعدادات.
لا ينطبق هذا الإعداد إلا على مسارات JSON وValues/Quoted وJSONExtract/نوع JSON المحدد النوع (إذ يغطي مسار Quoted
جميع التنسيقات التي تحلل الحقول باستخدام قاعدة الإفلات Quoted: وهي Values وMySQLDump و
Template/CustomSeparated/Regexp المُهيأة بإفلات الحقول Quoted). لا تتأثر التنسيقات المفصولة بعلامات الجدولة أو CSV وغيرها من
التنسيقات ذات الإفلات/النص الكامل: إذ يظل الرقم الكبير غير المقتبس لـ DateTime64 يُقرأ هناك باعتباره ticks.
input_format_record_errors_file_path
مسار الملف المستخدَم لتسجيل الأخطاء أثناء قراءة تنسيقات النص (CSV، TSV).
input_format_skip_unknown_fields
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 22.6 | 1 | تحسين قراءة مجموعة فرعية من الأعمدة لبعض تنسيقات الإدخال |
يُفعّل أو يُعطّل تخطي إدراج البيانات الإضافية.
عند كتابة البيانات، يطرح ClickHouse استثناء إذا كانت بيانات الإدخال تحتوي على أعمدة غير موجودة في الجدول الهدف. وإذا كان هذا الخيار مُمكّنًا، فلن يُدرج ClickHouse البيانات الإضافية ولن يطرح استثناء.
التنسيقات المدعومة:
- JSONEachRow (وتنسيقات JSON الأخرى)
- BSONEachRow (وتنسيقات JSON الأخرى)
- TSKV
- جميع التنسيقات ذات اللواحق WithNames/WithNamesAndTypes
- MySQLDump
- Native
القيم الممكنة:
- 0 — معطّل.
- 1 — مُمكّن.
input_format_try_infer_dates
إذا كان هذا الخيار مفعّلًا، فسيحاول ClickHouse استنتاج النوع Date من الحقول النصية عند استنتاج المخطط للتنسيقات النصية. وإذا جرى تحليل جميع الحقول في أحد أعمدة بيانات الإدخال بنجاح على أنها تواريخ، فسيكون نوع النتيجة Date؛ أما إذا تعذّر تحليل حقل واحد على الأقل كتاريخ، فسيكون نوع النتيجة String.
مفعّل افتراضيًا.
input_format_try_infer_datetimes
إذا كان هذا الإعداد مُمكّنًا، فسيحاول ClickHouse استنتاج النوع DateTime64 من الحقول النصية أثناء استنتاج المخطط للتنسيقات النصية. وإذا جرى تحليل جميع الحقول في عمود من بيانات الإدخال بنجاح على أنها قيم تاريخ ووقت، فسيكون نوع النتيجة DateTime64. أما إذا تعذّر تحليل حقل واحد على الأقل على أنه قيمة تاريخ ووقت، فسيكون نوع النتيجة String.
مُمكَّن افتراضيًا.
input_format_try_infer_datetimes_only_datetime64
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.8 | 0 | السماح باستنتاج DateTime بدلًا من DateTime64 في تنسيقات البيانات |
عند تمكين input_format_try_infer_datetimes، لا يُستنتج إلا DateTime64 دون أنواع DateTime
input_format_try_infer_exponent_floats
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.2 | 0 | عدم استدلال الأعداد العائمة ذات الصيغة الأُسّية افتراضيًا |
حاول استدلال الأعداد العائمة ذات الصيغة الأُسّية عند استدلال المخطط في التنسيقات النصية (باستثناء JSON، حيث يُستدل دائمًا على الأعداد ذات الأُسّ)
input_format_try_infer_integers
إذا كان هذا الخيار مفعّلًا، فسيحاول ClickHouse استنتاج الأعداد الصحيحة بدلًا من الأعداد ذات الفاصلة العائمة عند استنتاج المخطط في التنسيقات النصية. إذا كانت جميع الأرقام في العمود ضمن بيانات الإدخال أعدادًا صحيحة، فسيكون نوع النتيجة Int64، أما إذا وُجد رقم واحد على الأقل ذو فاصلة عائمة، فسيكون نوع النتيجة Float64.
مفعّل افتراضيًا.
input_format_try_infer_variants
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.9 | 0 | محاولة استنتاج نوع Variant في التنسيقات النصية عندما يكون هناك أكثر من نوع محتمل لعناصر العمود/المصفوفة |
إذا كان هذا الإعداد مفعّلًا، فسيحاول ClickHouse استنتاج نوع Variant أثناء استنتاج المخطط للتنسيقات النصية عندما يكون هناك أكثر من نوع محتمل لعناصر العمود/المصفوفة.
القيم الممكنة:
- 0 — معطّل.
- 1 — مفعّل.
input_format_tsv_allow_variable_number_of_columns
تجاهل الأعمدة الإضافية في إدخال TSV (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، واعتبر الحقول المفقودة في إدخال TSV قيماً افتراضية.
input_format_tsv_crlf_end_of_line
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.5 | 0 | يُمكّن من قراءة نهايات الأسطر CRLF مع تنسيقات TSV |
إذا تم ضبطه على true، فستقرأ الدالة file تنسيق TSV باستخدام \r\n بدلًا من \n.
input_format_tsv_detect_header
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.1 | 1 | اكتشاف الترويسة في تنسيق TSV افتراضيًا |
اكتشاف الترويسة التي تتضمن الأسماء والأنواع تلقائيًا في تنسيق TSV
input_format_tsv_empty_as_default
اعتبر الحقول الفارغة في بيانات TSV المُدخلة قيماً افتراضية.
input_format_tsv_enum_as_number
التعامل مع قيم enum المُدرَجة في تنسيقات TSV باعتبارها فهارس enum.
input_format_tsv_skip_first_lines
تخطَّ عدد الأسطر المحدد في بداية البيانات بتنسيق TSV
input_format_tsv_skip_trailing_empty_lines
تجاهل الأسطر الفارغة الأخيرة في تنسيق TSV
input_format_tsv_use_best_effort_in_schema_inference
يستخدم بعض التحسينات والآليات الاستدلالية لاستنتاج المخطط في تنسيق TSV
input_format_values_accurate_types_of_literals
بالنسبة إلى Values format: عند تحليل التعبيرات وتفسيرها باستخدام Template، افحص النوع الفعلي للقيمة الحرفية لتجنّب مشكلات تجاوز السعة والدقة المحتملة.
input_format_values_deduce_templates_of_expressions
بالنسبة إلى تنسيق Values: إذا تعذّر على محلّل التدفق تحليل الحقل، فشِّل محلّل SQL، واستنتج قالبًا لتعبير SQL، وحاول تحليل جميع الصفوف باستخدام هذا القالب، ثم فسِّر التعبير في جميع الصفوف.
input_format_values_interpret_expressions
في Values format: إذا تعذّر على streaming parser تحليل الحقل، فشغّل SQL parser وحاول تفسيره على أنه تعبير SQL.
input_format_with_names_use_header
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 20.5 | 1 | تمكين استخدام الترويسة التي تحتوي على أسماء في التنسيقات ذات اللواحق WithNames/WithNamesAndTypes |
يُمكّن هذا الإعداد أو يعطّل التحقق من ترتيب الأعمدة عند إدراج البيانات.
لتحسين أداء الإدراج، نوصي بتعطيل هذا التحقق إذا كنت متأكدًا من أن ترتيب أعمدة بيانات الإدخال مطابق لترتيبها في الجدول المستهدف.
التنسيقات المدعومة:
- CSVWithNames
- CSVWithNamesAndTypes
- TabSeparatedWithNames
- TabSeparatedWithNamesAndTypes
- JSONCompactEachRowWithNames
- JSONCompactEachRowWithNamesAndTypes
- JSONCompactStringsEachRowWithNames
- JSONCompactStringsEachRowWithNamesAndTypes
- RowBinaryWithNames
- RowBinaryWithNamesAndTypes
- CustomSeparatedWithNames
- CustomSeparatedWithNamesAndTypes
القيم الممكنة:
- 0 — معطّل.
- 1 — مفعّل.
input_format_with_types_use_header
يتحكم هذا الإعداد في ما إذا كان محلل التنسيق سيتحقق من تطابق أنواع البيانات في بيانات الإدخال مع أنواع البيانات في الجدول الهدف.
التنسيقات المدعومة:
- CSVWithNamesAndTypes
- TabSeparatedWithNamesAndTypes
- JSONCompactEachRowWithNamesAndTypes
- JSONCompactStringsEachRowWithNamesAndTypes
- RowBinaryWithNamesAndTypes
- CustomSeparatedWithNamesAndTypes
القيم الممكنة:
- 0 — معطّل.
- 1 — مُمكّن.