القيود المعروفة لدفاتر ملاحظات Databricks

تتناول هذه المقالة القيود المعروفة لدفاتر ملاحظات Databricks. للحصول على حدود موارد إضافية، راجع حدود الموارد.

تغيير حجم دفتر الملاحظات

  • تحتوي خلايا دفتر الملاحظات الفردية على حد إدخال يبلغ 6 ميغابايت.
  • الحد الأقصى لحجم دفتر الملاحظات للنسخ المطابقة للمراجعة هو 10 ميغابايت.
  • يمكنك حفظ دفاتر الملاحظات يدويا حتى 32 ميغابايت.

نتائج دفتر الملاحظات

  • تقتصر نتائج الجدول على 10 آلاف صف أو 2 ميغابايت، أيهما أقل.
  • يبلغ الحد الأقصى لحجم إخراج دفتر الملاحظات 30 ميغابايت في مجموعات الوظائف.
  • تحتوي نتائج الأوامر غير الجدولية على حد 20 ميغابايت.

مصحح أخطاء دفتر الملاحظات

قيود مصحح أخطاء دفتر الملاحظات:

  • يعمل مصحح الأخطاء فقط مع Python. لا يدعم Scala أو R.
  • لا يعمل مصحح الأخطاء على مجموعات وضع الوصول المشترك .
  • لا يدعم مصحح الأخطاء الدخول إلى الملفات الخارجية أو الوحدات النمطية.
  • لا يمكنك تشغيل أوامر أخرى في دفتر الملاحظات عندما تكون جلسة تصحيح الأخطاء نشطة.

دفاتر ملاحظات مستودع SQL

قيود دفاتر ملاحظات مستودعات SQL:

  • عند إرفاقها بمستودع SQL، تحتوي سياقات التنفيذ على مهلة الخامة تبلغ 8 ساعات.

عناوين ipywidgets

قيود ipywidgets:

  • يجب إرفاق دفتر ملاحظات يستخدم ipywidgets بمجموعة قيد التشغيل.
  • لا يتم الاحتفاظ بحالات عنصر واجهة المستخدم عبر جلسات عمل دفتر الملاحظات. يجب إعادة تشغيل خلايا عنصر واجهة المستخدم لعرضها في كل مرة تقوم فيها بإرفاق دفتر الملاحظات بمجموعة.
  • كلمة المرور ووحدة التحكم ipywidgets غير مدعومة.
  • لا يتم عرض عناصر واجهة مستخدم HTMLMath والتسمية مع تعبيرات LaTeX بشكل صحيح. (على سبيل المثال، widgets.Label(value=r'$$\frac{x+1}{x-1}$$') لا يتم العرض بشكل صحيح.)
  • قد لا يتم عرض عناصر واجهة المستخدم بشكل صحيح إذا كان دفتر الملاحظات في الوضع الداكن، خاصة عناصر واجهة المستخدم الملونة.
  • لا يمكن استخدام مخرجات عنصر واجهة المستخدم في طرق عرض لوحة معلومات دفتر الملاحظات.
  • الحد الأقصى لحجم حمولة الرسالة ل ipywidget هو 5 ميغابايت. قد لا يتم عرض عناصر واجهة المستخدم التي تستخدم الصور أو البيانات النصية الكبيرة بشكل صحيح.

عناصر واجهة مستخدم Databricks

قيود عناصر واجهة مستخدم Databricks:

  • يمكن إنشاء 512 عنصر واجهة مستخدم كحد أقصى في دفتر ملاحظات.

  • يقتصر اسم عنصر واجهة المستخدم على 1024 حرفا.

  • تقتصر تسمية عنصر واجهة المستخدم على 2048 حرفا.

  • يمكن إدخال 2048 حرفا كحد أقصى إلى عنصر واجهة مستخدم نصي.

  • يمكن أن يكون هناك 1024 اختيارا كحد أقصى لمربع متعدد التحديد أو مربع تحرير وسرد أو عنصر واجهة مستخدم منسدلة.

  • هناك مشكلة معروفة حيث قد لا تكون حالة عنصر واجهة المستخدم واضحة بشكل صحيح بعد الضغط على تشغيل الكل، حتى بعد مسح عنصر واجهة المستخدم أو إزالته في التعليمات البرمجية. إذا حدث ذلك، فسترى تعارضا بين الحالات المرئية والمطبوعة لعنصر واجهة المستخدم. قد تتجاوز إعادة تشغيل الخلايا بشكل فردي هذه المشكلة. لتجنب هذه المشكلة بالكامل، توصي Databricks باستخدام ipywidgets.

  • يجب عدم الوصول إلى حالة عنصر واجهة المستخدم مباشرة في سياقات غير متزامنة مثل مؤشرات الترابط أو العمليات الفرعية أو الدفق المنظم (foreachBatch)، حيث يمكن أن تتغير حالة عنصر واجهة المستخدم أثناء تشغيل التعليمات البرمجية غير المتزامنة. إذا كنت بحاجة إلى الوصول إلى حالة عنصر واجهة المستخدم في سياق غير متزامن، فمررها كوسيطة. على سبيل المثال، إذا كان لديك التعليمات البرمجية التالية التي تستخدم مؤشرات الترابط:

    import threading
    
    def thread_func():
      # Unsafe access in a thread
      value = dbutils.widgets.get('my_widget')
      print(value)
    
    thread = threading.Thread(target=thread_func)
    thread.start()
    thread.join()
    

    توصي Databricks باستخدام وسيطة بدلا من ذلك:

    # Access widget values outside the asynchronous context and pass them to the function
    value = dbutils.widgets.get('my_widget')
    
    def thread_func(val):
      # Use the passed value safely inside the thread
      print(val)
    
    thread = threading.Thread(target=thread_func, args=(value,))
    thread.start()
    thread.join()
    
  • لا يمكن لعناصر واجهة المستخدم تمرير الوسيطات بين لغات مختلفة داخل دفتر ملاحظات بشكل عام. يمكنك إنشاء عنصر واجهة مستخدم arg1 في خلية Python واستخدامها في خلية SQL أو Scala إذا قمت بتشغيل خلية واحدة في كل مرة. ومع ذلك، لا يعمل هذا إذا كنت تستخدم تشغيل الكل أو تشغيل دفتر الملاحظات كوظيفة. بعض الحلول البديلة هي:

    • بالنسبة لدفاتر الملاحظات التي لا تخلط اللغات، يمكنك إنشاء دفتر ملاحظات لكل لغة وتمرير الوسيطات عند تشغيل دفتر الملاحظات.
    • يمكنك الوصول إلى عنصر واجهة المستخدم باستخدام spark.sql() مكالمة. على سبيل المثال، في Python: spark.sql("select getArgument('arg1')").take(1)[0][0].

Bamboolib

قيود bamboolib:

  • يقتصر استخدام bamboolib لتشابك البيانات على ما يقرب من 10 ملايين صف. يعتمد هذا الحد على pandas وموارد حساب نظام المجموعة.
  • يقتصر استخدام bamboolib لتصورات البيانات على ما يقرب من 10 آلاف صف. ويستند هذا الحد على الرسم.