تثبيت Databricks Connect ل Scala
إشعار
تتناول هذه المقالة Databricks Connect ل Databricks Runtime 13.3 LTS وما فوق.
توضح هذه المقالة كيفية تثبيت Databricks Connect ل Scala. راجع ما هو Databricks Connect؟. للحصول على إصدار Python من هذه المقالة، راجع تثبيت Databricks Connect ل Python.
المتطلبات
- يجب أن تفي مساحة عمل Azure Databricks المستهدفة والمجموعة بمتطلبات تكوين نظام المجموعة ل Databricks Connect.
- تم تثبيت Java Development Kit (JDK) على جهاز التطوير الخاص بك. توصي Databricks بأن يتطابق إصدار تثبيت JDK الذي تستخدمه مع إصدار JDK على نظام مجموعة Azure Databricks. للعثور على إصدار JDK على نظام المجموعة الخاص بك، راجع قسم "بيئة النظام" في ملاحظات إصدار Databricks Runtime لمقطع التخزين الخاص بك. على سبيل المثال،
Zulu 8.70.0.23-CA-linux64
يتوافق مع JDK 8. راجع إصدارات ملاحظات إصدار Databricks Runtime والتوافق. - Scala مثبت على جهاز التطوير الخاص بك. توصي Databricks بأن يتطابق إصدار تثبيت Scala الذي تستخدمه مع إصدار Scala على نظام مجموعة Azure Databricks. للعثور على إصدار Scala على نظام المجموعة الخاص بك، راجع قسم "بيئة النظام" في ملاحظات إصدار Databricks Runtime لمقطع التخزين الخاص بك. راجع إصدارات ملاحظات إصدار Databricks Runtime والتوافق.
- أداة بناء Scala على جهاز التطوير الخاص بك، مثل
sbt
.
إعداد العميل
بعد تلبية متطلبات Databricks Connect، أكمل الخطوات التالية لإعداد عميل Databricks Connect.
الخطوة 1: إضافة مرجع إلى عميل Databricks Connect
في ملف إنشاء مشروع Scala الخاص بك مثل
build.sbt
لsbt
أوpom.xml
ل Maven أوbuild.gradle
ل Gradle، أضف المرجع التالي إلى عميل Databricks Connect:Sbt
libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
Maven
<dependency> <groupId>com.databricks</groupId> <artifactId>databricks-connect</artifactId> <version>14.0.0</version> </dependency>
Gradle
implementation 'com.databricks.databricks-connect:14.0.0'
استبدل
14.0.0
بإصدار مكتبة Databricks Connect التي تطابق إصدار Databricks Runtime على نظام المجموعة. يمكنك العثور على أرقام إصدار مكتبة Databricks Connect في مستودع Maven المركزي.
الخطوة 2: تكوين خصائص الاتصال
في هذا القسم، يمكنك تكوين الخصائص لإنشاء اتصال بين Databricks Connect والمجموعة البعيدة من Azure Databricks. تتضمن هذه الخصائص إعدادات لمصادقة Databricks Connect مع نظام المجموعة الخاص بك.
بالنسبة إلى Databricks Connect ل Databricks Runtime 13.3 LTS وما فوق، بالنسبة إلى Scala، يتضمن Databricks Connect Databricks SDK ل Java. يطبق SDK هذا معيار المصادقة الموحد لعميل Databricks، وهو نهج معماري وبرنامجي موحد ومتسق للمصادقة. يجعل هذا الأسلوب إعداد المصادقة وأتمتتها باستخدام Azure Databricks أكثر مركزية وقابلية للتنبؤ. يمكنك من تكوين مصادقة Azure Databricks مرة واحدة ثم استخدام هذا التكوين عبر أدوات Azure Databricks المتعددة وSDKs دون مزيد من تغييرات تكوين المصادقة.
إشعار
يتم دعم مصادقة OAuth من مستخدم إلى جهاز (U2M) على Databricks SDK ل Java 0.18.0 وما فوق. قد تحتاج إلى تحديث الإصدار المثبت لمشروع التعليمات البرمجية الخاص بك من Databricks SDK ل Java إلى 0.18.0 أو أعلى لاستخدام مصادقة OAuth U2M. راجع بدء استخدام Databricks SDK ل Java.
بالنسبة لمصادقة OAuth U2M، يجب استخدام Databricks CLI للمصادقة قبل تشغيل تعليمة Scala البرمجية الخاصة بك. راجع البرنامج التعليمي.
يتم دعم مصادقة OAuth من جهاز إلى جهاز (M2M) على Databricks SDK ل Java 0.17.0 وما فوق. قد تحتاج إلى تحديث الإصدار المثبت لمشروع التعليمات البرمجية الخاص بك من Databricks SDK ل Java إلى 0.17.0 أو أعلى لاستخدام مصادقة OAuth U2M. راجع بدء استخدام Databricks SDK ل Java.
لم تنفذ Databricks SDK ل Java مصادقة الهويات المدارة من Azure بعد.
جمع خصائص التكوين التالية.
- اسم مثيل مساحة عمل Azure Databricks. هذه هي نفس قيمة Server Hostname للمجموعة الخاصة بك؛ راجع الحصول على تفاصيل الاتصال لمورد حساب Azure Databricks.
- معرف نظام المجموعة الخاص بك. يمكنك الحصول على معرف نظام المجموعة من عنوان URL. راجع عنوان URL للمجموعة والمعرف.
- أي خصائص أخرى ضرورية لنوع مصادقة Databricks المدعوم. يتم وصف هذه الخصائص في هذا القسم.
تكوين الاتصال داخل التعليمات البرمجية الخاصة بك. يبحث Databricks Connect عن خصائص التكوين بالترتيب التالي حتى يعثر عليها. بمجرد العثور عليها، يتوقف عن البحث في الخيارات المتبقية. تظهر تفاصيل كل خيار بعد الجدول التالي:
خيار خصائص التكوين ينطبق على 1. DatabricksSession
أسلوب الفئةremote()
مصادقة الرمز المميز للوصول الشخصي ل Azure Databricks فقط 2. ملف تعريف تكوين Azure Databricks جميع أنواع مصادقة Azure Databricks 3. SPARK_REMOTE
متغير البيئةمصادقة الرمز المميز للوصول الشخصي ل Azure Databricks فقط 4. DATABRICKS_CONFIG_PROFILE
متغير البيئةجميع أنواع مصادقة Azure Databricks 5. متغير بيئة لكل خاصية تكوين جميع أنواع مصادقة Azure Databricks 6. ملف تعريف تكوين Azure Databricks المسمى DEFAULT
جميع أنواع مصادقة Azure Databricks DatabricksSession
أسلوب الفئةremote()
بالنسبة لهذا الخيار، الذي ينطبق على مصادقة رمز الوصول الشخصي Azure Databricks فقط، حدد اسم مثيل مساحة العمل، ورمز الوصول الشخصي Azure Databricks، ومعرف نظام المجموعة.
يمكنك تهيئة الفئة بعدة
DatabricksSession
طرق، كما يلي:host
token
قم بتعيين الحقول و وclusterId
فيDatabricksSession.builder
.- استخدم فئة Databricks SDK
Config
. - حدد ملف تعريف تكوين Databricks مع
clusterId
الحقل.
لا توصي Databricks بتحديد خصائص الاتصال هذه مباشرة في التعليمات البرمجية الخاصة بك. بدلا من ذلك، توصي Databricks بتكوين الخصائص من خلال متغيرات البيئة أو ملفات التكوين، كما هو موضح في هذا القسم. تفترض أمثلة التعليمات البرمجية التالية أنك توفر بعض التنفيذ للوظائف المقترحة
retrieve*
بنفسك للحصول على الخصائص الضرورية من المستخدم أو من مخزن تكوين آخر، مثل Azure KeyVault.التعليمات البرمجية لكل من هذه الأساليب كما يلي:
// Set the host, token, and clusterId fields in DatabricksSession.builder. // If you have already set the DATABRICKS_CLUSTER_ID environment variable with the // cluster's ID, you do not also need to set the clusterId field here. import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder() .host(retrieveWorkspaceInstanceName()) .token(retrieveToken()) .clusterId(retrieveClusterId()) .getOrCreate() // Use the Databricks SDK's Config class. // If you have already set the DATABRICKS_CLUSTER_ID environment variable with the // cluster's ID, you do not also need to set the clusterId field here. import com.databricks.connect.DatabricksSession import com.databricks.sdk.core.DatabricksConfig val config = new DatabricksConfig() .setHost(retrieveWorkspaceInstanceName()) .setToken(retrieveToken()) val spark = DatabricksSession.builder() .sdkConfig(config) .clusterId(retrieveClusterId()) .getOrCreate() // Specify a Databricks configuration profile along with the clusterId field. // If you have already set the DATABRICKS_CLUSTER_ID environment variable with the // cluster's ID, you do not also need to set the clusterId field here. import com.databricks.connect.DatabricksSession import com.databricks.sdk.core.DatabricksConfig val config = new DatabricksConfig() .setProfile("<profile-name>") val spark = DatabricksSession.builder() .sdkConfig(config) .clusterId(retrieveClusterId()) .getOrCreate()
ملف تعريف تكوين Azure Databricks
لهذا الخيار، قم بإنشاء أو تعريف ملف تعريف تكوين Azure Databricks يحتوي على الحقل
cluster_id
وأي حقول أخرى ضرورية لنوع مصادقة Databricks المدعوم الذي تريد استخدامه.حقول ملف تعريف التكوين المطلوبة لكل نوع مصادقة هي كما يلي:
- لمصادقة الرمز المميز للوصول الشخصي إلى Azure Databricks:
host
وtoken
. - لمصادقة OAuth من جهاز إلى جهاز (M2M) (حيثما كان مدعوما):
host
وclient_id
و.client_secret
- لمصادقة OAuth من مستخدم إلى جهاز (U2M) (حيثما كان مدعوما):
host
. - بالنسبة إلى Microsoft Entra ID (المعروف سابقا ب Azure Active Directory) المصادقة الأساسية للخدمة:
host
وazure_client_secret
azure_tenant_id
azure_client_id
وربما .azure_workspace_resource_id
- لمصادقة Azure CLI:
host
. - بالنسبة إلى مصادقة الهويات المدارة من Azure (حيثما كان مدعوما):
host
،azure_use_msi
azure_client_id
وربماazure_workspace_resource_id
.
ثم قم بتعيين اسم ملف تعريف التكوين هذا من خلال
DatabricksConfig
الفئة .يمكنك تحديد
cluster_id
بعدة طرق، كما يلي:- قم بتضمين
cluster_id
الحقل في ملف تعريف التكوين الخاص بك، ثم حدد اسم ملف تعريف التكوين فقط. - حدد اسم ملف تعريف التكوين مع
clusterId
الحقل.
إذا قمت بالفعل بتعيين
DATABRICKS_CLUSTER_ID
متغير البيئة باستخدام معرف نظام المجموعة، فلن تحتاج أيضا إلى تحديدcluster_id
الحقول أوclusterId
.التعليمات البرمجية لكل من هذه الأساليب كما يلي:
// Include the cluster_id field in your configuration profile, and then // just specify the configuration profile's name: import com.databricks.connect.DatabricksSession import com.databricks.sdk.core.DatabricksConfig val config = new DatabricksConfig() .setProfile("<profile-name>") val spark = DatabricksSession.builder() .sdkConfig(config) .getOrCreate() // Specify the configuration profile name along with the clusterId field. // In this example, retrieveClusterId() assumes some custom implementation that // you provide to get the cluster ID from the user or from some other // configuration store: import com.databricks.connect.DatabricksSession import com.databricks.sdk.core.DatabricksConfig val config = new DatabricksConfig() .setProfile("<profile-name>") val spark = DatabricksSession.builder() .sdkConfig(config) .clusterId(retrieveClusterId()) .getOrCreate()
- لمصادقة الرمز المميز للوصول الشخصي إلى Azure Databricks:
SPARK_REMOTE
متغير البيئةبالنسبة لهذا الخيار، الذي ينطبق على مصادقة رمز الوصول الشخصي Azure Databricks فقط، قم بتعيين
SPARK_REMOTE
متغير البيئة إلى السلسلة التالية، واستبدال العناصر النائبة بالقيم المناسبة.sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
ثم قم بتهيئة
DatabricksSession
الفئة كما يلي:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
لتعيين متغيرات البيئة، راجع وثائق نظام التشغيل الخاص بك.
DATABRICKS_CONFIG_PROFILE
متغير البيئةلهذا الخيار، قم بإنشاء أو تعريف ملف تعريف تكوين Azure Databricks يحتوي على الحقل
cluster_id
وأي حقول أخرى ضرورية لنوع مصادقة Databricks المدعوم الذي تريد استخدامه.إذا قمت بالفعل بتعيين
DATABRICKS_CLUSTER_ID
متغير البيئة مع معرف نظام المجموعة، فلن تحتاج أيضا إلى تحديدcluster_id
.حقول ملف تعريف التكوين المطلوبة لكل نوع مصادقة هي كما يلي:
- لمصادقة الرمز المميز للوصول الشخصي إلى Azure Databricks:
host
وtoken
. - لمصادقة OAuth من جهاز إلى جهاز (M2M) (حيثما كان مدعوما):
host
وclient_id
و.client_secret
- لمصادقة OAuth من مستخدم إلى جهاز (U2M) (حيثما كان مدعوما):
host
. - بالنسبة إلى Microsoft Entra ID (المعروف سابقا ب Azure Active Directory) المصادقة الأساسية للخدمة:
host
وazure_client_secret
azure_tenant_id
azure_client_id
وربما .azure_workspace_resource_id
- لمصادقة Azure CLI:
host
. - بالنسبة إلى مصادقة الهويات المدارة من Azure (حيثما كان مدعوما):
host
،azure_use_msi
azure_client_id
وربماazure_workspace_resource_id
.
DATABRICKS_CONFIG_PROFILE
تعيين متغير البيئة إلى اسم ملف تعريف التكوين هذا. ثم قم بتهيئةDatabricksSession
الفئة كما يلي:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
لتعيين متغيرات البيئة، راجع وثائق نظام التشغيل الخاص بك.
- لمصادقة الرمز المميز للوصول الشخصي إلى Azure Databricks:
متغير بيئة لكل خاصية تكوين
لهذا الخيار، قم بتعيين
DATABRICKS_CLUSTER_ID
متغير البيئة وأي متغيرات بيئة أخرى ضرورية لنوع مصادقة Databricks المدعوم الذي تريد استخدامه.متغيرات البيئة المطلوبة لكل نوع مصادقة هي كما يلي:
- لمصادقة الرمز المميز للوصول الشخصي إلى Azure Databricks:
DATABRICKS_HOST
وDATABRICKS_TOKEN
. - لمصادقة OAuth من جهاز إلى جهاز (M2M) (حيثما كان مدعوما):
DATABRICKS_HOST
وDATABRICKS_CLIENT_ID
و.DATABRICKS_CLIENT_SECRET
- لمصادقة OAuth من مستخدم إلى جهاز (U2M) (حيثما كان مدعوما):
DATABRICKS_HOST
. - بالنسبة إلى Microsoft Entra ID (المعروف سابقا ب Azure Active Directory) المصادقة الأساسية للخدمة:
DATABRICKS_HOST
وARM_CLIENT_SECRET
ARM_TENANT_ID
ARM_CLIENT_ID
وربما .DATABRICKS_AZURE_RESOURCE_ID
- لمصادقة Azure CLI:
DATABRICKS_HOST
. - بالنسبة إلى مصادقة الهويات المدارة من Azure (حيثما كان مدعوما):
DATABRICKS_HOST
،ARM_USE_MSI
ARM_CLIENT_ID
وربماDATABRICKS_AZURE_RESOURCE_ID
.
ثم قم بتهيئة
DatabricksSession
الفئة كما يلي:import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
لتعيين متغيرات البيئة، راجع وثائق نظام التشغيل الخاص بك.
- لمصادقة الرمز المميز للوصول الشخصي إلى Azure Databricks:
ملف تعريف تكوين Azure Databricks المسمى
DEFAULT
لهذا الخيار، قم بإنشاء أو تعريف ملف تعريف تكوين Azure Databricks يحتوي على الحقل
cluster_id
وأي حقول أخرى ضرورية لنوع مصادقة Databricks المدعوم الذي تريد استخدامه.إذا قمت بالفعل بتعيين
DATABRICKS_CLUSTER_ID
متغير البيئة مع معرف نظام المجموعة، فلن تحتاج أيضا إلى تحديدcluster_id
.حقول ملف تعريف التكوين المطلوبة لكل نوع مصادقة هي كما يلي:
- لمصادقة الرمز المميز للوصول الشخصي إلى Azure Databricks:
host
وtoken
. - لمصادقة OAuth من جهاز إلى جهاز (M2M) (حيثما كان مدعوما):
host
وclient_id
و.client_secret
- لمصادقة OAuth من مستخدم إلى جهاز (U2M) (حيثما كان مدعوما):
host
. - بالنسبة إلى Microsoft Entra ID (المعروف سابقا ب Azure Active Directory) المصادقة الأساسية للخدمة:
host
وazure_client_secret
azure_tenant_id
azure_client_id
وربما .azure_workspace_resource_id
- لمصادقة Azure CLI:
host
. - بالنسبة إلى مصادقة الهويات المدارة من Azure (حيثما كان مدعوما):
host
،azure_use_msi
azure_client_id
وربماazure_workspace_resource_id
.
قم بتسمية ملف تعريف
DEFAULT
التكوين هذا .ثم قم بتهيئة
DatabricksSession
الفئة كما يلي:scala import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder().getOrCreate()
- لمصادقة الرمز المميز للوصول الشخصي إلى Azure Databricks: