عناوين ipywidgets

ipywidgets هي عناصر مرئية تسمح للمستخدمين بتحديد قيم المعلمات في خلايا دفتر الملاحظات. يمكنك استخدام ipywidgets لجعل دفاتر ملاحظات Databricks Python تفاعلية.

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

إشعار

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

المتطلبات

  • تتوفر ipywidgets في المعاينة في Databricks Runtime 11.0 من خلال Databricks Runtime 12.2 LTS، وهي متوفرة بشكل عام في Databricks Runtime 13.0 وما فوق. يتوفر دعم جداول كتالوج Unity في Databricks Runtime 12.2 LTS والإصدارات الأحدث على أنظمة المجموعات الممكنة كتالوج Unity.
  • لاستخدام ipywidgets على Databricks، يجب أن يكون متصفحك قادرا على الوصول databricks-dev-cloudfront.dev.databricks.com إلى المجال.

بشكل افتراضي، تحتل ipywidgets المنفذ 6062. باستخدام Databricks Runtime 11.3 LTS وما فوق، إذا واجهت تعارضات مع عمليات تكامل الجهات الخارجية مثل Datadog، يمكنك تغيير المنفذ باستخدام تكوين Spark التالي:

spark.databricks.driver.ipykernel.commChannelPort <port-number>

على سبيل المثال:

spark.databricks.driver.ipykernel.commChannelPort 1234

يجب تعيين تكوين Spark عند إنشاء نظام المجموعة.

الاستخدام

تنشئ التعليمات البرمجية التالية مدرجا تكراريا مع شريط تمرير يمكن أن يأخذ القيم بين 3 و10. تحدد قيمة عنصر واجهة المستخدم عدد الخانات في المدرج التكراري. أثناء تحريك شريط التمرير، يتم تحديث المدرج التكراري على الفور. راجع مثال دفتر ملاحظات ipywidgets لتجربة ذلك.

import ipywidgets as widgets
from ipywidgets import interact

# Load a dataset
sparkDF = spark.read.csv("/databricks-datasets/bikeSharing/data-001/day.csv", header="true", inferSchema="true")

# In this code, `(bins=(3, 10)` defines an integer slider widget that allows values between 3 and 10.
@interact(bins=(3, 10))
def plot_histogram(bins):
  pdf = sparkDF.toPandas()
  pdf.hist(column='temp', bins=bins)

تنشئ التعليمات البرمجية التالية شريط تمرير عدد صحيح يمكن أن يأخذ القيم بين 0 و10. القيمة الافتراضية هي 5. للوصول إلى قيمة شريط التمرير في التعليمات البرمجية الخاصة بك، استخدم int_slider.value.

import ipywidgets as widgets

int_slider = widgets.IntSlider(max=10, value=5)
int_slider

تحمل التعليمات البرمجية التالية إطار بيانات نموذجيا وتعرضه من جدول في كتالوج Unity. يتوفر دعم جداول كتالوج Unity مع Databricks Runtime 12.1 والإصدارات الأحدث على أنظمة المجموعات التي تدعم كتالوج Unity.

import ipywidgets as widgets

# Create button widget. Clicking this button loads a sampled dataframe from UC table.
button = widgets.Button(description="Load dataframe sample")

# Output widget to display the loaded dataframe
output = widgets.Output()

def load_sample_df(table_name):
  return spark.sql(f"SELECT * FROM {table_name} LIMIT 1000")

def on_button_clicked(_):
    with output:
      output.clear_output()
      df = load_sample_df('<catalog>.<schema>.<table>')
      print(df.toPandas())

# Register the button's callback function to query UC and display results to the output widget
button.on_click(on_button_clicked)

display(button, output)

مثال دفتر الملاحظات: ipywidgets

يعرض دفتر الملاحظات التالي بعض الأمثلة على استخدام ipywidgets في دفاتر الملاحظات.

مثال على دفتر ملاحظات ipywidgets

الحصول على دفتر الملاحظات

مثال دفتر الملاحظات: مثال متقدم على ipywidgets

يعرض دفتر الملاحظات التالي مثالا أكثر تعقيدا باستخدام ipywidgets لإنشاء خريطة تفاعلية.

مثال متقدم: الخرائط مع ipywidgets

الحصول على دفتر الملاحظات

أفضل الممارسات لاستخدام عناصر واجهة مستخدم ipywidgets وDatabricks

لإضافة عناصر تحكم تفاعلية إلى دفاتر ملاحظات Python، توصي Databricks باستخدام ipywidgets. بالنسبة لدفاتر الملاحظات بلغات أخرى، استخدم أدوات Databricks.

يمكنك استخدام عناصر واجهة مستخدم Databricks لتمرير المعلمات بين دفاتر الملاحظات وتمرير المعلمات إلى الوظائف؛ لا تدعم ipywidgets هذه السيناريوهات.

ما هي عناصر واجهة مستخدم Jupyter التابعة لجهة خارجية المدعومة في Databricks؟

يوفر Databricks أفضل دعم لعناصر واجهة المستخدم التابعة لجهات خارجية، مثل ipyleaflet وbqplot و VegaFusion. ومع ذلك، بعض عناصر واجهة المستخدم التابعة لجهة خارجية غير مدعومة. للحصول على قائمة بعناصر واجهة المستخدم التي تم اختبارها في دفاتر ملاحظات Azure Databricks، اتصل بفريق حساب Azure Databricks.

القيود

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