JSON وDynamic وVariant وBFloat16 وTime وTime64.
أما الأنواع AggregateFunction وInterval وNothing وQBit فغير مدعومة.
الصيغة
المعاملات
الإعدادات
SETTINGS هي الوسيطة الأخيرة في الاستدعاء، وتحدد كيفية توليد قيم Nullable وVariant وDynamic وJSON.
SETTINGS بوصفها الوسيطة الوحيدة، وبذلك يُحتفظ ببنية جدول الإدراج:
القيمة المعادة
كائن جدول يتضمن المخطط المطلوب.مثال على الاستخدام
structure (في هذه الحالة تكون البنية عشوائية):
يمكن أن يُنتج
generateRandom(generateRandomStructure(), [بذرة عشوائية], max_string_length, max_array_length)، عند ضبط max_array_length على قيمة كبيرة بما يكفي، مخرجات ضخمة جدًا بسبب العمق المحتمل الكبير للتداخل (حتى 16) في الأنواع المعقدة (Array, Tuple, Map, Nested).توليد JSON
يبدو العمود المُولَّد من النوعJSON كدفق من المستندات ذات المخطط نفسه: تُحدَّد مجموعة المفاتيح ونوع
كل مفتاح بناءً على البذرة العشوائية، وتظل ثابتة في العمود كله، بينما تتغير القيم
والمفاتيح الغائبة وأطوال المصفوفات من صف إلى آخر. يحدّ max_json_depth من عمق الكائنات،
ويحدّ max_json_keys_per_object من عدد المفاتيح في المستوى الواحد، ويغيب المفتاح
عن الصف باحتمال null_ratio. وتكون القيم الطرفية من الأنواع التي يستنتجها محلّل JSON من
المستندات الفعلية: Int64 وUInt64 وFloat64 وBool وString وDate وDateTime، ومصفوفات من هذه الأنواع، ومصفوفات
من الكائنات، ومصفوفات مختلطة. وتحمل بعض المفاتيح نوعًا مختلفًا في نسبة صغيرة من الصفوف، كما
يحدث في البيانات المجمّعة من تطبيق.
يحدّد تعريف النوع بنية المخطط المُولَّد: تظهر المسارات محددة النوع دائمًا بنوعها المُعلَن،
ولا تُولَّد المسارات المستبعدة باستخدام SKIP وSKIP REGEXP، مع الالتزام بحدَّي max_dynamic_paths و
max_dynamic_types، لذا تُخزَّن المسارات التي تتجاوز حد max_dynamic_paths ضمن البيانات المشتركة
للعمود.
JSON أو Dynamic أو Variant:
محتوى ذي صلة
- المدوّنة: إنشاء بيانات عشوائية في ClickHouse