مشاركة جداول المعالم عبر مساحات العمل

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

بالنسبة إلى مخزن ميزات مركزي، توصي Databricks بتعيين مساحة عمل واحدة لتخزين كافة بيانات تعريف مخزن الميزات، وإنشاء حسابات لكل مستخدم يحتاج إلى الوصول إلى مخزن الميزات.

إذا كانت فرق العمل الخاصة بك تشارك أيضا نماذج عبر مساحات العمل،فيمكنك اختيار تخصيص نفس مساحة العمل المركزية لكل من جداول المعالم والنماذج، أو يمكنك تحديد مساحات عمل مركزية مختلفة لكل منها.

مساحات عمل متعددة لمتجر الميزات

يتم التحكم في الوصول إلى مخزن الميزات المركزي بواسطة الرموز المميزة. ينشئ كل مستخدم أو برنامج نصي يحتاج إلى الوصول رمز وصول شخصي في مخزن الميزات المركزية ونسخ هذا الرمز المميز إلى المدير السري لمساحة العمل المحلية الخاصة بهم. يجب أن يتضمن كل طلب API يتم إرساله إلى مساحة عمل مخزن الميزات المركزية رمز الوصول المميز؛ يوفر عميل "مخزن الميزات" آلية بسيطة لتحديد الأسرار التي سيتم استخدامها عند تنفيذ عمليات مساحة العمل المشتركة.

المتطلبات

يتطلب استخدام مخزن ميزات عبر مساحات العمل Databricks وقت التشغيل 9.0 مل أو أعلى. يجب أن تكون كافة مساحات العمل في نفس المنطقة.

إعداد الرمز المميز لواجهة برمجة التطبيقات لتسجيل بعيد

  1. في مساحة عمل مخزن المعالم، قم بإنشاء رمز مميز للوصول.
  2. في مساحة العمل المحلية، قم بإنشاء أسرار لتخزين رمز الوصول المميز ومعلومات مساحة العمل البعيدة:
    1. إنشاء نطاق سري: databricks secrets create-scope --scope <scope> .
    2. اختر اسما فريدا لمساحة العمل الهدف، كما هو موضح هنا على أنه <prefix> . ثم إنشاء ثلاثة أسرار مع أسماء المفاتيح المحددة:
      • databricks secrets put --scope <scope> --key <prefix>-host أدخل اسم المضيف لمساحة عمل مخزن المعالم باستخدام عنوان URL الإقليمي لمساحة العمل. على سبيل المثال، https://westus.azuredatabricks.net/ بدلاً من https://adb-5555555555555555.19.azuredatabricks.net/. للتحقق من عنوان URL الإقليمي، يمكنك تشغيله mlflow.utils.databricks_utils.get_webapp_url() في دفتر ملاحظات.
      • databricks secrets put --scope <scope> --key <prefix>-token أدخل رمز الوصول المميز من مساحة عمل مخزن الميزات.
      • databricks secrets put --scope <scope> --key <prefix>-workspace-id أدخل معرف مساحة العمل لمساحة عمل مخزن المعالم التي يمكن databricks secrets put --scope <scope> --key <prefix>-workspace-id لأي صفحة.

ملاحظة

قد ترغب في مشاركة النطاق السري مع مستخدمين آخرين، نظرا لوجود حد لعدد النطاقات السرية لكل مساحة عمل.

تحديد مخزن ميزة بعيد

استنادا إلى النطاق السري وبادئة الاسم التي قمت بإنشائها لمساحة عمل مخزن الميزات البعيدة، يمكنك إنشاء مخزن ميزات URI للنموذج:

feature_store_uri = f'databricks://<scope>:<prefix>'

ثم حدد URI بشكل صريح عند إنشاء مثيل FeatureStoreClient :

fs = FeatureStoreClient(feature_store_uri=feature_store_uri)

إنشاء جدول معالم في مخزن الميزات البعيد

استخدام FeatureStoreClient.create_feature_table واجهة برمجة التطبيقات:

fs = FeatureStoreClient(feature_store_uri=f'databricks://<scope>:<prefix>')
fs.create_feature_table(
   name='recommender.customer_features',
   keys='customer_id',
   schema=customer_features_df.schema,
   description='Customer-keyed features'
 )

للحصول على أمثلة من أساليب "مخزن الميزات" الأخرى، راجع مثال دفتر الملاحظات.

استخدام جدول ميزة من مخزن الميزات البعيد

يمكنك قراءة جدول ميزة في مخزن ميزة بعيد مع FeatureStoreClient.read_table الأسلوب عن طريق أولا إعداد feature_store_uri :

fs = FeatureStoreClient(feature_store_uri=f'databricks://<scope>:<prefix>')
customer_features_df = fs.read_table(
  name='recommender.customer_features',
)

يتم أيضا اعتماد أساليب المساعد الأخرى للوصول إلى جدول المعالم:

fs.read_table()
fs.get_feature_table()
fs.write_table()
fs.publish_table()
fs.create_training_set()

استخدام سجل طراز بعيد

بالإضافة إلى تحديد مخزن ميزة بعيد URI، يمكنك أيضا تحديد URI لتسجيل طراز بعيد لمشاركة النماذج عبر مساحات العمل.

لتحديد تسجيل طراز بعيد لتسجيل الطراز أو تسجيل النقاط، يمكنك استخدام URI لتسجيل طراز لإنشاء مثيل ل FeatureStoreClient.

fs = FeatureStoreClient(model_registry_uri=f'databricks://<scope>:<prefix>')
customer_features_df = fs.log_model(
    model,
    "recommendation_model",
    flavor=mlflow.sklearn,
    training_set=training_set,
    registered_model_name="recommendation_model"
)

باستخدام feature_store_uri و ، يمكنك تدريب نموذج باستخدام أي جدول ميزة محلي أو model_registry_uri بعيد، ثم تسجيل النموذج في أي سجل طراز محلي أو بعيد.

fs = FeatureStoreClient(
    feature_store_uri=f'databricks://<scope>:<prefix>',
    model_registry_uri=f'databricks://<scope>:<prefix>'
)

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

دفتر ملاحظات مثال مخزن الميزات المركزي

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