Skip to main content
يولّد بيانات عشوائية وفق مخطط محدد. ويتيح ملء جداول الاختبار بهذه البيانات. جميع أنواع البيانات التي يمكن تخزينها في جدول مدعومة، بما فيها JSON وDynamic وVariant وBFloat16 وTime وTime64. أما الأنواع AggregateFunction وInterval وNothing وQBit فغير مدعومة.

الصيغة

المعاملات

الإعدادات

SETTINGS هي الوسيطة الأخيرة في الاستدعاء، وتحدد كيفية توليد قيم Nullable وVariant وDynamic وJSON.
يمكن أيضًا تمرير SETTINGS بوصفها الوسيطة الوحيدة، وبذلك يُحتفظ ببنية جدول الإدراج:

القيمة المعادة

كائن جدول يتضمن المخطط المطلوب.

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

بالدمج مع generateRandomStructure:
عند غياب الوسيط 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: