مقدمة إلى مايكروسوفت سبارك المرافق

Microsoft Spark Utilities (MSSparkUtils) هي حزمة مضمنة لمساعدتك على أداء المهام الشائعة بسهولة. يمكنك استخدام MSSparkUtils للعمل مع أنظمة الملفات، والحصول على متغيرات البيئة، وسلسلة دفاتر الملاحظات معا، والعمل مع الأسرار. تتوفر MSSparkUtils في PySpark (Python)، Scalaوأجهزة الكمبيوتر المحمولة وخطوط .NET Spark (C#) أنابيب Synapse.

المتطلبات الأساسية

تكوين الوصول إلى Azure Data Lake Storage Gen2

تستخدم دفاتر ملاحظات Synapse تمرير Azure Active Directory (Azure AD) للوصول إلى حسابات ADLS Gen2. يجب أن تكون مساهما في بيانات Storage Blob للوصول إلى حساب (أو مجلد) ADLS Gen2.

تستخدم خطوط أنابيب Synapse هوية الخدمة المدارة (MSI) الخاصة بمساحة العمل للوصول إلى حسابات التخزين. لاستخدام MSSparkUtils في أنشطة خط الأنابيب، يجب أن تكون هوية مساحة العمل الخاصة بك "مساهم بيانات نقطة التخزين " للوصول إلى حساب (أو مجلد) ADLS Gen2.

اتبع الخطوات التالية للتأكد من أن MSI Azure AD ومساحة العمل لديك حق الوصول إلى حساب ADLS Gen2:

  1. افتح مدخل Azure وحساب التخزين الذي تريد الوصول إليه. يمكنك الانتقال إلى الحاوية المحددة التي تريد الوصول إليها.

  2. حدد التحكم في الوصول (IAM) من اللوحة اليمنى.

  3. حدد Add>Add role assignment لفتح صفحة إضافة تعيين الدور.

  4. تعيين الدور التالي. للحصول على خطوات تفصيلية، راجع ⁧⁩تعيين أدوار Azure باستخدام مدخل Microsoft Azure⁧⁩.

    إعداد القيمة
    الدور مساهم بيانات Storage Blob
    تعيين الوصول إلى المستخدم والهوية المدارة
    الأعضاء حساب Azure AD الخاص بك وهوية مساحة العمل الخاصة بك

    ملاحظة

    اسم الهوية المدارة هو أيضاً اسم مساحة العمل.

    Add role assignment page in Azure portal.

  5. حدد ⁧⁩حفظ⁧⁩.

يمكنك الوصول إلى البيانات على ADLS Gen2 باستخدام Synapse Spark عبر عنوان URL التالي:

abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>

تكوين الوصول إلى Azure Blob Storage

يستخدم Synapse توقيع الوصول المشترك (SAS) للوصول إلى Azure Blob Storage. لتجنب عرض مفاتيح SAS في التعليمة البرمجية، نوصي بإنشاء خدمة مرتبطة جديدة في مساحة عمل Synapse إلى حساب Azure Blob Storage الذي تريد الوصول إليه.

اتبع الخطوات التالية لإضافة خدمة مرتبطة جديدة لحساب Azure Blob Storage:

  1. افتح Azure Synapse Studio.
  2. حدد إدارة من اللوحة اليمنى وحدد الخدمات المرتبطة ضمن الاتصالات الخارجية.
  3. ابحث في Azure Blob Storage في لوحة الخدمة المرتبطة الجديدة على اليسار.
  4. حدد ⁦⁩Continue⁦⁩.
  5. حدد حساب تخزين Azure Blob للوصول إلى اسم الخدمة المرتبط وتكوينه. اقترح استخدام مفتاح الحسابلطريقة المصادقة.
  6. حدد اختبار الاتصال للتحقق من صحة الإعدادات.
  7. حدد إنشاء أولا وانقر فوق نشر الكل لحفظ التغييرات.

يمكنك الوصول إلى البيانات الموجودة على Azure Blob Storage باستخدام Synapse Spark عبر عنوان URL التالي:

wasb[s]://<container_name>@<storage_account_name>.blob.core.windows.net/<path>

فيما يلي مثال على التعليمات البرمجية:

from pyspark.sql import SparkSession

# Azure storage access info
blob_account_name = 'Your account name' # replace with your blob name
blob_container_name = 'Your container name' # replace with your container name
blob_relative_path = 'Your path' # replace with your relative folder path
linked_service_name = 'Your linked service name' # replace with your linked service name

blob_sas_token = mssparkutils.credentials.getConnectionStringOrCreds(linked_service_name)

# Allow SPARK to access from Blob remotely

wasb_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)

spark.conf.set('fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name), blob_sas_token)
print('Remote blob path: ' + wasb_path)
val blob_account_name = "" // replace with your blob name
val blob_container_name = "" //replace with your container name
val blob_relative_path = "/" //replace with your relative folder path
val linked_service_name = "" //replace with your linked service name


val blob_sas_token = mssparkutils.credentials.getConnectionStringOrCreds(linked_service_name)

val wasbs_path = f"wasbs://$blob_container_name@$blob_account_name.blob.core.windows.net/$blob_relative_path"
spark.conf.set(f"fs.azure.sas.$blob_container_name.$blob_account_name.blob.core.windows.net",blob_sas_token)

var blob_account_name = "";  // replace with your blob name
var blob_container_name = "";     // replace with your container name
var blob_relative_path = "";  // replace with your relative folder path
var linked_service_name = "";    // replace with your linked service name
var blob_sas_token = Credentials.GetConnectionStringOrCreds(linked_service_name);

spark.SparkContext.GetConf().Set($"fs.azure.sas.{blob_container_name}.{blob_account_name}.blob.core.windows.net", blob_sas_token);

var wasbs_path = $"wasbs://{blob_container_name}@{blob_account_name}.blob.core.windows.net/{blob_relative_path}";

Console.WriteLine(wasbs_path);

تكوين الوصول إلى Azure Key Vault

يمكنك إضافة Azure Key Vault كخدمة مرتبطة لإدارة بيانات الاعتماد الخاصة بك في Synapse. اتبع الخطوات التالية لإضافة Azure Key Vault كخدمة مرتبطة ب Synapse:

  1. افتح Azure Synapse Studio.
  2. حدد إدارة من اللوحة اليمنى وحدد الخدمات المرتبطة ضمن الاتصالات الخارجية.
  3. ابحث في Azure Key Vault في لوحة الخدمة المرتبطة الجديدة على اليسار.
  4. حدد حساب Azure Key Vault للوصول إلى اسم الخدمة المرتبط وتكوينه.
  5. حدد اختبار الاتصال للتحقق من صحة الإعدادات.
  6. حدد إنشاء أولا وانقر فوق نشر الكل لحفظ التغيير.

تستخدم دفاتر ملاحظات Synapse Azure active directory(Azure AD) للمرور للوصول إلى Azure Key Vault. تستخدم خطوط أنابيب Synapse هوية مساحة العمل (MSI) للوصول إلى Azure Key Vault. للتأكد من عمل التعليمات البرمجية في كل من دفتر الملاحظات وفي خط أنابيب Synapse، نوصي بمنح إذن الوصول السري لكل من حسابك Azure AD وهوية مساحة العمل.

اتبع الخطوات التالية لمنح حق الوصول السري إلى هوية مساحة العمل الخاصة بك:

  1. افتح مدخل Azure Key Vault Azure الذي تريد الوصول إليه.
  2. حدد سياسات الوصول من اللوحة اليمنى.
  3. حدد إضافة سياسة الوصول:
    • اختر مفتاح، سري، & إدارة الشهادات كقالب تكوين.
    • حدد حساب Azure AD وهوية مساحة العمل الخاصة بك (نفس اسم مساحة العمل الخاصة بك) في الأصل المحدد أو تأكد من تعيينه بالفعل.
  4. حدد تحديدوإضافت.
  5. حدد الزر حفظ لإجراء التغييرات.

الأدوات المساعدة لنظام الملفات

mssparkutils.fsيوفر أدوات مساعدة للعمل مع أنظمة الملفات المختلفة، بما في ذلك Azure Data Lake Storage Gen2 (ADLS Gen2) وAzure Blob Storage. تأكد من تكوين الوصول إلى Azure Data Lake Storage Gen2وتخزين Azure Blob بشكل مناسب.

قم بتشغيل الأوامر التالية للحصول على نظرة عامة حول الطرق المتوفرة:

from notebookutils import mssparkutils
mssparkutils.fs.help()
mssparkutils.fs.help()
using Microsoft.Spark.Extensions.Azure.Synapse.Analytics.Notebook.MSSparkUtils;
FS.Help()

النتائج:

mssparkutils.fs provides utilities for working with various FileSystems.

Below is overview about the available methods:

cp(from: String, to: String, recurse: Boolean = false): Boolean -> Copies a file or directory, possibly across FileSystems
mv(from: String, to: String, recurse: Boolean = false): Boolean -> Moves a file or directory, possibly across FileSystems
ls(dir: String): Array -> Lists the contents of a directory
mkdirs(dir: String): Boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
put(file: String, contents: String, overwrite: Boolean = false): Boolean -> Writes the given String out to a file, encoded in UTF-8
head(file: String, maxBytes: int = 1024 * 100): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
append(file: String, content: String, createFileIfNotExists: Boolean): Boolean -> Append the content to a file
rm(dir: String, recurse: Boolean = false): Boolean -> Removes a file or directory

Use mssparkutils.fs.help("methodName") for more info about a method.

قائمة الملفات

سرد محتوى الدليل.

mssparkutils.fs.ls('Your directory path')
mssparkutils.fs.ls("Your directory path")
FS.Ls("Your directory path")

عرض خصائص الملف

إرجاع خصائص الملف بما في ذلك اسم الملف ومسار الملف وحجم الملف وما إذا كان دليلا وملفا.

files = mssparkutils.fs.ls('Your directory path')
for file in files:
    print(file.name, file.isDir, file.isFile, file.path, file.size)
val files = mssparkutils.fs.ls("/")
files.foreach{
    file => println(file.name,file.isDir,file.isFile,file.size)
}
var Files = FS.Ls("/");
foreach(var File in Files) {
    Console.WriteLine(File.Name+" "+File.IsDir+" "+File.IsFile+" "+File.Size);
}

إنشاء دليل جديد

ينشئ الدليل المحدد إذا لم يكن موجودا وأي أدلة أصلية ضرورية.

mssparkutils.fs.mkdirs('new directory name')
mssparkutils.fs.mkdirs("new directory name")
FS.Mkdirs("new directory name")

نسخ الملف

نسخ ملف أو دليل. يدعم النسخ عبر أنظمة الملفات.

mssparkutils.fs.cp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively
mssparkutils.fs.cp("source file or directory", "destination file or directory", true) // Set the third parameter as True to copy all files and directories recursively
FS.Cp("source file or directory", "destination file or directory", true) // Set the third parameter as True to copy all files and directories recursively

معاينة محتوى الملف

ترجع هذه الدالة ما يصل إلى وحدات البايت "maxBytes" الأولى للملف المحدد كسلسلة مشفرة في UTF-8.

mssparkutils.fs.head('file path', maxBytes to read)
mssparkutils.fs.head("file path", maxBytes to read)
FS.Head("file path", maxBytes to read)

نقل الملف

نقل ملف أو دليل. يدعم التنقل عبر أنظمة الملفات.

mssparkutils.fs.mv('source file or directory', 'destination directory', True) # Set the last parameter as True to firstly create the parent directory if it does not exist
mssparkutils.fs.mv("source file or directory", "destination directory", true) // Set the last parameter as True to firstly create the parent directory if it does not exist
FS.Mv("source file or directory", "destination directory", true)

كتابة ملف

يكتب السلسلة المعطاة إلى ملف، مشفرا في UTF-8.

mssparkutils.fs.put("file path", "content to write", True) # Set the last parameter as True to overwrite the file if it existed already
mssparkutils.fs.put("file path", "content to write", true) // Set the last parameter as True to overwrite the file if it existed already
FS.Put("file path", "content to write", true) // Set the last parameter as True to overwrite the file if it existed already

إلحاق محتوى بملف

إلحاق السلسلة المعطاة بملف ، مشفر في UTF-8.

mssparkutils.fs.append("file path", "content to append", True) # Set the last parameter as True to create the file if it does not exist
mssparkutils.fs.append("file path","content to append",true) // Set the last parameter as True to create the file if it does not exist
FS.Append("file path", "content to append", true) // Set the last parameter as True to create the file if it does not exist

حذف ملف أو دليل

يزيل ملفا أو دليلا.

mssparkutils.fs.rm('file path', True) # Set the last parameter as True to remove all files and directories recursively 
mssparkutils.fs.rm("file path", true) // Set the last parameter as True to remove all files and directories recursively 
FS.Rm("file path", true) // Set the last parameter as True to remove all files and directories recursively 

الأدوات المساعدة للكمبيوتر المحمول

غير مدعومة.

يمكنك استخدام الأدوات المساعدة لدفتر الملاحظات MSSparkUtils لتشغيل دفتر ملاحظات أو الخروج من دفتر ملاحظات بقيمة . قم بتشغيل الأمر التالي للحصول على نظرة عامة على الطرق المتوفرة:

mssparkutils.notebook.help()

الحصول على النتائج:

The notebook module.

exit(value: String): void -> This method lets you exit a notebook with a value.
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.

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

الرجوع إلى دفتر ملاحظات وإرجاع قيمة الخروج الخاصة به. يمكنك تشغيل استدعاءات دالة التداخل في دفتر ملاحظات بشكل تفاعلي أو في خط أنابيب. سيتم تشغيل دفتر الملاحظات المشار إليه على تجمع Spark الذي يستدعي دفتر الملاحظات هذه الوظيفة.


mssparkutils.notebook.run("notebook path", <timeoutSeconds>, <parameterMap>)

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

mssparkutils.notebook.run("folder/Sample1", 90, {"input": 20 })

بعد انتهاء التشغيل ، سترى رابط لقطة باسم "عرض تشغيل دفتر الملاحظات: اسم دفتر الملاحظات" يظهر في إخراج الخلية ، يمكنك النقر فوق الارتباط لرؤية لقطة لهذا التشغيل المحدد.

Screenshot of a snap link python

الخروج من دفتر ملاحظات

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

  • عندما تقوم باستدعاء دالة exit() دفتر ملاحظات بشكل تفاعلي، سيقوم Azure Synapse بطرح استثناء، وتخطي تشغيل خلايا التسلسل الفرعي، والحفاظ على جلسة عمل Spark على قيد الحياة.

  • عند تنسيق دفتر ملاحظات يستدعي دالة exit() في خط أنابيب Synapse، سيقوم Azure Synapse بإرجاع قيمة خروج، وإكمال تشغيل خط الأنابيب، وإيقاف جلسة عمل Spark.

  • عند استدعاء دالة exit() في دفتر ملاحظات تتم الإشارة إليه، سيقوم Azure Synapse بإيقاف التنفيذ الإضافي في دفتر الملاحظات الذي تتم الإشارة إليه، وسيستمر في تشغيل الخلايا التالية في دفتر الملاحظات التي تستدعي الدالة run() . على سبيل المثال: يحتوي Notebook1 على ثلاث خلايا ويستدعي دالة exit() في الخلية الثانية. يحتوي Notebook2 على خمس خلايا ومكالمات run(notebook1) في الخلية الثالثة. عند تشغيل Notebook2، سيتم إيقاف Notebook1 عند الخلية الثانية عند الضغط على الوظيفة exit() . سيستمر Notebook2 في تشغيل الخلية الرابعة والخلية الخامسة.

mssparkutils.notebook.exit("value string")

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

يقع دفتر ملاحظات Sample1 ضمن مجلد/ مع وجود خليتين التاليتين:

  • تعرف الخلية 1 معلمة إدخال مع تعيين القيمة الافتراضية إلى 10.
  • تقوم الخلية 2 بإنهاء دفتر الملاحظات مع إدخال كقيمة خروج.

Screenshot of a sample notebook

يمكنك تشغيل Sample1 في دفتر ملاحظات آخر بقيم افتراضية:


exitVal = mssparkutils.notebook.run("folder/Sample1")
print (exitVal)

النتائج:

Sample1 run success with input is 10

يمكنك تشغيل Sample1 في دفتر ملاحظات آخر وتعيين قيمة الإدخال ك 20:

exitVal = mssparkutils.notebook.run("mssparkutils/folder/Sample1", 90, {"input": 20 })
print (exitVal)

النتائج:

Sample1 run success with input is 20

يمكنك استخدام الأدوات المساعدة لدفتر الملاحظات MSSparkUtils لتشغيل دفتر ملاحظات أو الخروج من دفتر ملاحظات بقيمة . قم بتشغيل الأمر التالي للحصول على نظرة عامة على الطرق المتوفرة:

mssparkutils.notebook.help()

الحصول على النتائج:

The notebook module.

exit(value: String): void -> This method lets you exit a notebook with a value.
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.

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

الرجوع إلى دفتر ملاحظات وإرجاع قيمة الخروج الخاصة به. يمكنك تشغيل استدعاءات دالة التداخل في دفتر ملاحظات بشكل تفاعلي أو في خط أنابيب. سيتم تشغيل دفتر الملاحظات المشار إليه على تجمع Spark الذي يستدعي دفتر الملاحظات هذه الوظيفة.


mssparkutils.notebook.run("notebook path", <timeoutSeconds>, <parameterMap>)

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

mssparkutils.notebook.run("folder/Sample1", 90, Map("input" -> 20))

بعد انتهاء التشغيل ، سترى رابط لقطة باسم "عرض تشغيل دفتر الملاحظات: اسم دفتر الملاحظات" يظهر في إخراج الخلية ، يمكنك النقر فوق الارتباط لرؤية لقطة لهذا التشغيل المحدد.

Screenshot of a snap link scala

الخروج من دفتر ملاحظات

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

  • عندما تقوم باستدعاء دالة exit() دفتر ملاحظات بشكل تفاعلي، سيقوم Azure Synapse بطرح استثناء، وتخطي تشغيل خلايا التسلسل الفرعي، والحفاظ على جلسة عمل Spark على قيد الحياة.

  • عند تنسيق دفتر ملاحظات يستدعي دالة exit() في خط أنابيب Synapse، سيقوم Azure Synapse بإرجاع قيمة خروج، وإكمال تشغيل خط الأنابيب، وإيقاف جلسة عمل Spark.

  • عند استدعاء دالة exit() في دفتر ملاحظات تتم الإشارة إليه، سيقوم Azure Synapse بإيقاف التنفيذ الإضافي في دفتر الملاحظات الذي تتم الإشارة إليه، وسيستمر في تشغيل الخلايا التالية في دفتر الملاحظات التي تستدعي الدالة run() . على سبيل المثال: يحتوي Notebook1 على ثلاث خلايا ويستدعي دالة exit() في الخلية الثانية. يحتوي Notebook2 على خمس خلايا ومكالمات run(notebook1) في الخلية الثالثة. عند تشغيل Notebook2، سيتم إيقاف Notebook1 عند الخلية الثانية عند الضغط على الوظيفة exit() . سيستمر Notebook2 في تشغيل الخلية الرابعة والخلية الخامسة.

mssparkutils.notebook.exit("value string")

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

Sample1 دفتر الدفتري يحدد موقع ضمن mssparkutils/folder/ مع الخليتين التاليتين:

  • تعرف الخلية 1 معلمة إدخال مع تعيين القيمة الافتراضية إلى 10.
  • تقوم الخلية 2 بإنهاء دفتر الملاحظات مع إدخال كقيمة خروج.

Screenshot of a sample notebook

يمكنك تشغيل Sample1 في دفتر ملاحظات آخر بقيم افتراضية:


val exitVal = mssparkutils.notebook.run("mssparkutils/folder/Sample1")
print(exitVal)

النتائج:

exitVal: String = Sample1 run success with input is 10
Sample1 run success with input is 10

يمكنك تشغيل Sample1 في دفتر ملاحظات آخر وتعيين قيمة الإدخال ك 20:

val exitVal = mssparkutils.notebook.run("mssparkutils/folder/Sample1", 90, {"input": 20 })
print(exitVal)

النتائج:

exitVal: String = Sample1 run success with input is 20
Sample1 run success with input is 20

الأدوات المساعدة لبيانات الاعتماد

يمكنك استخدام الأدوات المساعدة لبيانات اعتماد MSSparkUtils للحصول على رموز الوصول المميزة للخدمات المرتبطة وإدارة الأسرار في Azure Key Vault.

قم بتشغيل الأمر التالي للحصول على نظرة عامة على الطرق المتوفرة:

mssparkutils.credentials.help()
mssparkutils.credentials.help()
Credentials.Help()

الحصول على النتيجة:

getToken(audience, name): returns AAD token for a given audience, name (optional)
isValidToken(token): returns true if token hasn't expired
getConnectionStringOrCreds(linkedService): returns connection string or credentials for linked service
getSecret(akvName, secret, linkedService): returns AKV secret for a given AKV linked service, akvName, secret key
getSecret(akvName, secret): returns AKV secret for a given akvName, secret key
putSecret(akvName, secretName, secretValue, linkedService): puts AKV secret for a given akvName, secretName
putSecret(akvName, secretName, secretValue): puts AKV secret for a given akvName, secretName

الحصول على رمز مميز

إرجاع الرمز المميز Azure AD لجمهور معين، الاسم (اختياري). يسرد الجدول أدناه جميع أنواع الجمهور المتاحة:

نوع الجمهور مفتاح الجمهور
نوع حل الجمهور "الجمهور"
مورد جمهور التخزين "التخزين"
تجمعات SQL مخصصة (مستودع بيانات) "DW"
مورد جمهور بحيرة البيانات 'AzureManagement'
مورد جمهور Vault "داتا ليك ستور"
Azure OSSDB Audience Resource 'AzureOSSDB'
Azure Synapse Resource "المشبك"
Azure Data Factory Resource "ADF"
mssparkutils.credentials.getToken('audience Key')
mssparkutils.credentials.getToken("audience Key")
Credentials.GetToken("audience Key")

التحقق من صحة الرمز المميز

إرجاع true إذا لم تنته صلاحية الرمز المميز.

mssparkutils.credentials.isValidToken('your token')
mssparkutils.credentials.isValidToken("your token")
Credentials.IsValidToken("your token")

الحصول على سلسلة اتصال أو بيانات اعتماد للخدمة المرتبطة

إرجاع سلسلة الاتصال أو بيانات الاعتماد للخدمة المرتبطة.

mssparkutils.credentials.getConnectionStringOrCreds('linked service name')
mssparkutils.credentials.getConnectionStringOrCreds("linked service name")
Credentials.GetConnectionStringOrCreds("linked service name")

الحصول على السرية باستخدام هوية مساحة العمل

ترجع هذه الدالة Azure Key Vault سرية لاسم Azure Key Vault معين واسم سري واسم خدمة مرتبط باستخدام هوية مساحة العمل. تأكد من تكوين الوصول إلى Azure Key Vault بشكل مناسب.

mssparkutils.credentials.getSecret('azure key vault name','secret name','linked service name')
mssparkutils.credentials.getSecret("azure key vault name","secret name","linked service name")
Credentials.GetSecret("azure key vault name","secret name","linked service name")

الحصول على السرية باستخدام بيانات اعتماد المستخدم

إرجاع Azure Key Vault سرية لاسم Key Vault Azure معين واسم سري واسم خدمة مرتبط باستخدام بيانات اعتماد المستخدم.

mssparkutils.credentials.getSecret('azure key vault name','secret name')
mssparkutils.credentials.getSecret("azure key vault name","secret name")
Credentials.GetSecret("azure key vault name","secret name")

وضع السر باستخدام هوية مساحة العمل

يضع Azure Key Vault سرا لاسم Key Vault Azure معين واسم سري واسم خدمة مرتبط باستخدام هوية مساحة العمل. تأكد من تكوين الوصول إلى Azure Key Vault بشكل مناسب.

mssparkutils.credentials.putSecret('azure key vault name','secret name','secret value','linked service name')

وضع السر باستخدام هوية مساحة العمل

يضع Azure Key Vault سرا لاسم Key Vault Azure معين واسم سري واسم خدمة مرتبط باستخدام هوية مساحة العمل. تأكد من تكوين الوصول إلى Azure Key Vault بشكل مناسب.

mssparkutils.credentials.putSecret("azure key vault name","secret name","secret value","linked service name")

وضع السر باستخدام بيانات اعتماد المستخدم

يضع Azure Key Vault سرا لاسم Key Vault Azure معين واسم سري واسم خدمة مرتبط باستخدام بيانات اعتماد المستخدم.

mssparkutils.credentials.putSecret('azure key vault name','secret name','secret value')

وضع السر باستخدام بيانات اعتماد المستخدم

يضع Azure Key Vault سرا لاسم Key Vault Azure معين واسم سري واسم خدمة مرتبط باستخدام بيانات اعتماد المستخدم.

mssparkutils.credentials.putSecret("azure key vault name","secret name","secret value")

المرافق البيئية

قم بتشغيل الأوامر التالية للحصول على نظرة عامة على الطرق المتوفرة:

mssparkutils.env.help()
mssparkutils.env.help()
Env.Help()

الحصول على النتيجة:

GetUserName(): returns user name
GetUserId(): returns unique user id
GetJobId(): returns job id
GetWorkspaceName(): returns workspace name
GetPoolName(): returns Spark pool name
GetClusterId(): returns cluster id

الحصول على اسم المستخدم

إرجاع اسم المستخدم الحالي.

mssparkutils.env.getUserName()
mssparkutils.env.getUserName()
Env.GetUserName()

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

إرجاع معرف المستخدم الحالي.

mssparkutils.env.getUserId()
mssparkutils.env.getUserId()
Env.GetUserId()

الحصول على معرف الوظيفة

إرجاع معرف الوظيفة.

mssparkutils.env.getJobId()
mssparkutils.env.getJobId()
Env.GetJobId()

الحصول على اسم مساحة العمل

إرجاع اسم مساحة العمل.

mssparkutils.env.getWorkspaceName()
mssparkutils.env.getWorkspaceName()
Env.GetWorkspaceName()

الحصول على اسم المسبح

إرجاع اسم تجمع Spark.

mssparkutils.env.getPoolName()
mssparkutils.env.getPoolName()
Env.GetPoolName()

الحصول على معرف المجموعة

إرجاع معرف المجموعة الحالي.

mssparkutils.env.getClusterId()
mssparkutils.env.getClusterId()
Env.GetClusterId()

سياق وقت التشغيل

Mssparkutils وقت التشغيل الأدوات المساعدة المكشوفة 3 خصائص وقت التشغيل، يمكنك استخدام سياق وقت تشغيل mssparkutils للحصول على الخصائص المدرجة على النحو التالي:

  • اسم دفتر الملاحظات - اسم دفتر الملاحظات الحالي، سيقوم دائما بإرجاع قيمة لكل من الوضع التفاعلي ووضع خط الأنابيب.
  • Pipelinejobid - معرف تشغيل خط الأنابيب، سيقوم بإرجاع القيمة في وضع خط الأنابيب وإرجاع السلسلة الفارغة في الوضع التفاعلي.
  • Activityrunid - معرف تشغيل نشاط دفتر الملاحظات ، وسيقوم بإرجاع القيمة في وضع خط الأنابيب وإرجاع السلسلة الفارغة في الوضع التفاعلي.

يدعم سياق وقت التشغيل حاليا كلا من Python و Scala.

mssparkutils.runtime.context
%%spark
mssparkutils.runtime.context

الخطوات التالية