الوصف
JSONEachRow.
مثال للاستخدام
مثال بسيط
format_json_object_each_row_column_for_object_name.
تُعيَّن قيمة هذا الإعداد إلى اسم عمود، ويُستخدم هذا الاسم كمفتاح JSON للصف في الكائن الناتج.
المخرجات
test ويحتوي على عمودين:
JSONObjectEachRow ونستخدم الإعداد format_json_object_each_row_column_for_object_name:
Query
Response
الإدخال
data.json:
Query
Response
Query
Response
إدخال البيانات
Query
- أي ترتيب لأزواج المفتاح والقيمة داخل الكائن.
- حذف بعض القيم.
معالجة القيم المحذوفة
DEFAULT expr، يستخدم ClickHouse قواعد استبدال مختلفة وفقًا للإعداد input_format_defaults_for_omitted_fields.
تأمل الجدول التالي:
Query
- إذا كانت
input_format_defaults_for_omitted_fields = 0، فإن القيمة الافتراضية لكلٍّ منxوaهي0(لأنها القيمة الافتراضية لنوع البياناتUInt32). - إذا كانت
input_format_defaults_for_omitted_fields = 1، فإن القيمة الافتراضية لـxهي0، لكن القيمة الافتراضية لـaهيx * 2.
عند إدراج البيانات باستخدام
input_format_defaults_for_omitted_fields = 1، يستهلك ClickHouse موارد حوسبة أكبر مقارنةً بالإدراج باستخدام input_format_defaults_for_omitted_fields = 0.استعلام البيانات
UserActivity مثالًا:
SELECT * FROM UserActivity FORMAT JSONEachRow ما يلي:
JSON.
يمكن إخراج أي مجموعة من البايتات في السلاسل النصية. استخدم تنسيق
JSONEachRow إذا كنت متأكدًا من أن البيانات الموجودة في الجدول يمكن تنسيقها بصيغة JSON من دون فقدان أي معلومات.استخدام البُنى Nested
Nested، فيمكنك إدراج بيانات JSON بالبنية نفسها. فعِّل هذه الميزة باستخدام الإعداد input_format_import_nested_json.
على سبيل المثال، تأمل الجدول التالي:
Query
Nested، يتعامل ClickHouse مع كل مكوّن من البنية المتداخلة على أنه عمود منفصل (n.s و n.i في جدولنا). يمكنك إدراج البيانات بالطريقة التالية:
Query
input_format_import_nested_json=1.
Query
Response
Query
Response
Query
Response