Skip to main content

الوصف

تجمع هذه الصيغة بين الإخراج المضغوط صفًا بصف الذي توفّره صيغة JSONCompactEachRow ومعلومات التقدّم التي تُرسَل بشكل متدفق. يبثّ ClickHouse كل حدث في كائن JSON مستقل، وتحتفظ قيم الأعمدة بأنواع JSON الأصلية الخاصة بها. تستخدم الصيغة المرتبطة بها JSONCompactStringsEachRowWithProgress أنواع الكائنات نفسها في المستوى الأعلى، غير أن قيم الحقول فيها تُسلسَل على هيئة string. تشترك هذه الصيغة مع JSONEachRowWithProgress في عقد الدفق نفسه (writesProgressConcurrently / finalizeImpl)، باستثناء أن حمولات row / totals / min / max تكون مصفوفات من القيم مرتّبة وفق ترتيب الأعمدة، لا كائنات مسمّاة.

كائنات الدفق

يمثّل كل سطر من الاستجابة كائن JSON واحدًا. وينبغي للعملاء توجيه المعالجة بحسب المفتاح في المستوى الأعلى: يُرسَل الكائن rows_before_limit_at_least عندما يتضمّن الاستعلام LIMIT، حتى إن لم يؤدِّ الحدّ إلى حذف أي صفوف. وهو تقدير أدنى لعدد الصفوف التي كانت ستُعاد لولا LIMIT (بالمعنى نفسه المستخدم في JSON)؛ لذا يجب ألا يعدّه العملاء دليلًا على حذف صفوف. يُرسَل meta مرة واحدة قبل أول row، غير أن كائن progress قد يصل قبل meta. ولا يُرسَل الكائن exception في المستوى الأعلى عبر مسار HTTP إلا عند ضبط http_write_exception_in_output_format=1؛ وفي غير ذلك يظهر الخطأ عبر طبقة النقل. وعند إرساله، يكون كائنًا مستقلًا في المستوى الأعلى، لا متداخلًا ضمن row.

مثال للاستخدام

Query
Response

إعدادات التنسيق