مشاركة عبر


مشاركة جداول الميزات عبر مساحات العمل (قديمة)

هام

  • تم إيقاف هذه الوثائق وقد لا يتم تحديثها.
  • توصي Databricks باستخدام هندسة الميزات في كتالوج Unity لمشاركة جداول الميزات عبر مساحات العمل. تم إهمال النهج الوارد في هذه المقالة.

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

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

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

مساحات عمل متعددة لتخزين الميزات

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

إشعار

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

المتطلبات

يتطلب استخدام مخزن ميزات عبر مساحات العمل ما يلي:

  • عميل مخزن الميزات v0.3.6 والإصدارات الأحدث.
  • يجب أن يكون لكلا مساحات العمل حق الوصول إلى بيانات الميزة الأولية. يجب أن يشاركوا نفس Hive metastore الخارجي وأن يكون لديهم حق الوصول إلى نفس تخزين DBFS.
  • إذا تم تمكين قوائم الوصول إلى IP، يجب أن تكون عناوين IP لمساحة العمل على قوائم الوصول.

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

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

  1. في مساحة العمل B، قم بإنشاء رمز مميز للوصول.
  2. في مساحة العمل المحلية، قم بإنشاء أسرار لتخزين الرمز المميز للوصول ومعلومات حول مساحة العمل B:
    1. إنشاء نطاق سري: databricks secrets create-scope --scope <scope>.
    2. اختر معرفا فريدا لمساحة العمل B، الموضح هنا ك <prefix>. ثم قم بإنشاء ثلاثة أسرار بأسماء المفاتيح المحددة:
      • databricks secrets put --scope <scope> --key <prefix>-host : أدخل اسم مضيف مساحة العمل B. استخدم أوامر Python التالية للحصول على اسم مضيف مساحة العمل:

        import mlflow
        
        host_url = mlflow.utils.databricks_utils.get_webapp_url()
        host_url
        
      • databricks secrets put --scope <scope> --key <prefix>-token : أدخل الرمز المميز للوصول من Workspace B.

      • databricks secrets put --scope <scope> --key <prefix>-workspace-id : أدخل معرف مساحة العمل لمساحة العمل B التي يمكن العثور عليها في عنوان URL لأي صفحة.

إشعار

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

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

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

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

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

fs = FeatureStoreClient(feature_store_uri=feature_store_uri)

إنشاء قاعدة بيانات لجداول الميزات في موقع DBFS المشترك

قبل إنشاء جداول الميزات في مخزن الميزات البعيد، يجب إنشاء قاعدة بيانات لتخزينها. يجب أن تكون قاعدة البيانات موجودة في موقع DBFS المشترك.

على سبيل المثال، لإنشاء قاعدة بيانات recommender في الموقع /mnt/sharedالمشترك، استخدم الأمر التالي:

%sql CREATE DATABASE IF NOT EXISTS recommender LOCATION '/mnt/shared'

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

تعتمد واجهة برمجة التطبيقات لإنشاء جدول ميزات في مخزن ميزات بعيد على إصدار وقت تشغيل Databricks الذي تستخدمه.

V0.3.6 والإصدارات الأحدث

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

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

V0.3.5 وما دونه

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() # in v0.3.5 and below
fs.get_table() # in v0.3.6 and above
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>'
)

مثال دفتر الملاحظات: مشاركة جداول الميزات عبر مساحات العمل

يوضح دفتر الملاحظات التالي كيفية العمل مع مخزن ميزات مركزي.

دفتر ملاحظات مثال "متجر الميزات المركزي"

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