الانتقال إلى المحتوى الرئيسي

الوصف

يتضمن حالة التحميل، ومعلومات عن الخطأ، والبيانات الوصفية للتهيئة الخاصة بـ الدوال المعرّفة من قبل المستخدم (UDFs).

الأعمدة

  • name (String) — اسم دالة UDF.
  • load_status (Enum8(‘Success’ = 0, ‘Failed’ = 1)) — حالة التحميل. القيم الممكنة:
    • Success — تم تحميل UDF وأصبحت جاهزة للاستخدام
    • Failed — فشل تحميل UDF (راجع الحقل ‘loading_error_message’ لمزيد من التفاصيل).
  • loading_error_message (String) — رسالة الخطأ التفصيلية عند فشل التحميل. تكون فارغة إذا تم التحميل بنجاح.
  • last_successful_update_time (Nullable(DateTime)) — الطابع الزمني لآخر تحديث ناجح. تكون NULL إذا لم ينجح من قبل.
  • loading_duration_ms (UInt64) — الوقت المستغرَق في تحميل UDF، بالمللي ثانية.
  • type (Enum8(‘executable’ = 0, ‘executable_pool’ = 1)) — نوع UDF: ‘executable’ (عملية واحدة) أو ‘executable_pool’ (مجموعة عمليات).
  • command (String) — السكربت أو الأمر المطلوب تنفيذه لهذه UDF.
  • format (String) — تنسيق البيانات لعمليات الإدخال/الإخراج (مثل ‘TabSeparated’ و’JSONEachRow’).
  • return_type (String) — نوع الإرجاع للدالة (مثل ‘String’ و’UInt64’).
  • return_name (String) — معرّف اختياري للقيمة المعادة. يكون فارغًا إذا لم يتم تكوينه.
  • argument_types (Array(String)) — مصفوفة أنواع المعاملات (مثل [‘String’, ‘UInt64’]).
  • argument_names (Array(String)) — مصفوفة أسماء المعاملات. تُستخدم سلاسل فارغة للمعاملات غير المسماة.
  • max_command_execution_time (UInt64) — الحد الأقصى بالثواني لمعالجة كتلة بيانات. فقط للنوع ‘executable_pool’.
  • command_termination_timeout (UInt64) — عدد الثواني قبل إرسال SIGTERM إلى عملية الأمر.
  • command_read_timeout (UInt64) — عدد المللي ثانية المخصصة للقراءة من stdout الخاص بالأمر.
  • command_write_timeout (UInt64) — عدد المللي ثانية المخصصة للكتابة إلى stdin الخاص بالأمر.
  • pool_size (UInt64) — عدد مثيلات عملية الأمر. فقط للنوع ‘executable_pool’.
  • send_chunk_header (UInt8) — ما إذا كان سيتم إرسال عدد الصفوف قبل كل جزء بيانات (قيمة منطقية).
  • execute_direct (UInt8) — ما إذا كان سيتم تنفيذ الأمر مباشرةً (1) أو عبر ‎/bin/bash‏ (0).
  • lifetime (UInt64) — الفاصل الزمني لإعادة التحميل بالثواني. 0 يعني أن إعادة التحميل معطلة.
  • deterministic (UInt8) — ما إذا كانت الدالة تعيد النتيجة نفسها للمعاملات نفسها (قيمة منطقية).

مثال

اعرض جميع UDFs وحالة تحميلها:
SELECT
    name,
    load_status,
    type,
    command,
    return_type,
    argument_types
FROM system.user_defined_functions
FORMAT Vertical;
Row 1:
──────
name:           my_sum_udf
load_status:    Success
type:           executable
command:        /var/lib/clickhouse/user_scripts/sum.py
return_type:    UInt64
argument_types: ['UInt64','UInt64']
العثور على UDFs الفاشلة:
SELECT
    name,
    loading_error_message
FROM system.user_defined_functions
WHERE load_status = 'Failed';

انظر أيضًا

آخر تعديل في ٢٥ يونيو ٢٠٢٦