مرجع Databricks Utilities (dbutils)

هذه المقالة هي مرجع ل Databricks Utilities (dbutils). dbutils تتوفر الأدوات المساعدة في دفاتر ملاحظات Python وR وSc scala. يمكنك استخدام الأدوات المساعدة من أجل:

  • العمل مع الملفات وتخزين الكائنات بكفاءة.
  • العمل مع الأسرار.

كيفية: سرد الأدوات المساعدة، أوامر القائمة، عرض تعليمات الأمر

الأدوات المساعدة: البيانات، fs، الوظائف، المكتبة، دفتر الملاحظات، الأسرار، عناصر واجهة المستخدم، مكتبة واجهة برمجة تطبيقات الأدوات المساعدة

سرد الأدوات المساعدة المتوفرة

لسرد الأدوات المساعدة المتوفرة مع وصف قصير لكل أداة مساعدة، قم بتشغيل dbutils.help() ل Python أو Scala.

يسرد هذا المثال الأوامر المتوفرة ل Databricks Utilities.

Python

dbutils.help()

Scala

dbutils.help()
This module provides various utilities for users to interact with the rest of Databricks.

credentials: DatabricksCredentialUtils -> Utilities for interacting with credentials within notebooks
data: DataUtils -> Utilities for understanding and interacting with datasets (EXPERIMENTAL)
fs: DbfsUtils -> Manipulates the Databricks filesystem (DBFS) from the console
jobs: JobsUtils -> Utilities for leveraging jobs features
library: LibraryUtils -> Utilities for session isolated libraries
meta: MetaUtils -> Methods to hook into the compiler (EXPERIMENTAL)
notebook: NotebookUtils -> Utilities for the control flow of a notebook (EXPERIMENTAL)
preview: Preview -> Utilities under preview category
secrets: SecretUtils -> Provides utilities for leveraging secrets within notebooks
widgets: WidgetsUtils -> Methods to create and get bound value of input widgets inside notebooks

سرد الأوامر المتوفرة لأداة مساعدة

لسرد الأوامر المتوفرة لأداة مساعدة مع وصف قصير لكل أمر، قم بتشغيل .help() بعد الاسم البرمجي للأداة المساعدة.

يسرد هذا المثال الأوامر المتوفرة للأداة المساعدة Databricks File System (DBFS).

Python

dbutils.fs.help()

R

dbutils.fs.help()

Scala

dbutils.fs.help()
dbutils.fs provides utilities for working with FileSystems. Most methods in this package can take either a DBFS path (e.g., "/foo" or "dbfs:/foo"), or another FileSystem URI. For more info about a method, use dbutils.fs.help("methodName"). In notebooks, you can also use the %fs shorthand to access DBFS. The %fs shorthand maps straightforwardly onto dbutils calls. For example, "%fs head --maxBytes=10000 /file/path" translates into "dbutils.fs.head("/file/path", maxBytes = 10000)".

fsutils

cp(from: String, to: String, recurse: boolean = false): boolean -> Copies a file or directory, possibly across FileSystems
head(file: String, maxBytes: int = 65536): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
ls(dir: String): Seq -> 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
mv(from: String, to: String, recurse: boolean = false): boolean -> Moves a file or directory, possibly across FileSystems
put(file: String, contents: String, overwrite: boolean = false): boolean -> Writes the given String out to a file, encoded in UTF-8
rm(dir: String, recurse: boolean = false): boolean -> Removes a file or directory

mount

mount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Mounts the given source directory into DBFS at the given mount point
mounts: Seq -> Displays information about what is mounted within DBFS
refreshMounts: boolean -> Forces all machines in this cluster to refresh their mount cache, ensuring they receive the most recent information
unmount(mountPoint: String): boolean -> Deletes a DBFS mount point
updateMount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Similar to mount(), but updates an existing mount point instead of creating a new one

عرض التعليمات لأمر

لعرض تعليمات لأمر، قم بتشغيل .help("<command-name>") بعد اسم الأمر.

يعرض هذا المثال تعليمات لأمر نسخ DBFS.

Python

dbutils.fs.help("cp")

R

dbutils.fs.help("cp")

Scala

dbutils.fs.help("cp")
/**
* Copies a file or directory, possibly across FileSystems.
*
* Example: cp("/mnt/my-folder/a", "dbfs:/a/b")
*
* @param from FileSystem URI of the source file or directory
* @param to FileSystem URI of the destination file or directory
* @param recurse if true, all files and directories will be recursively copied
* @return true if all files were successfully copied
*/
cp(from: java.lang.String, to: java.lang.String, recurse: boolean = false): boolean

الأداة المساعدة للبيانات (dbutils.data)

هام

هذه الميزة في المعاينة العامة.

إشعار

متوفر في Databricks Runtime 9.0 وما فوق.

الأوامر: تلخيص

تتيح لك الأداة المساعدة للبيانات فهم مجموعات البيانات وتفسيرها. لسرد الأوامر المتوفرة، قم بتشغيل dbutils.data.help().

dbutils.data provides utilities for understanding and interpreting datasets. This module is currently in preview and may be unstable. For more info about a method, use dbutils.data.help("methodName").

summarize(df: Object, precise: boolean): void -> Summarize a Spark DataFrame and visualize the statistics to get quick insights

الأمر "تلخيص" (dbutils.data.summarize)

حساب وعرض إحصائيات ملخصة ل Apache Spark DataFrame أو pandas DataFrame. يتوفر هذا الأمر ل Python وSc scala وR.

يحلل هذا الأمر المحتويات الكاملة ل DataFrame. يمكن أن يكون تشغيل هذا الأمر ل DataFrames كبيرة جدا مكلفا للغاية.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.data.help("summarize").

في Databricks Runtime 10.4 LTS وما فوق، يمكنك استخدام المعلمة الإضافية precise لضبط دقة الإحصائيات المحسوبة.

إشعار

هذه الميزة في المعاينة العامة.

  • عندما precise يتم تعيين إلى خطأ (الافتراضي)، تتضمن بعض الإحصائيات التي تم إرجاعها تقريبات لتقليل وقت التشغيل.
    • قد يحتوي عدد القيم المميزة للأعمدة الفئوية على خطأ نسبي بنسبة 5٪ تقريبا للأعمدة ذات العلاقة الأساسية العالية.
    • قد يكون لعدد القيم المتكررة خطأ يصل إلى 0.01٪ عندما يكون عدد القيم المميزة أكبر من 10000.
    • قد تحتوي المدرجات التكرارية والتقديرات المئوية على خطأ يصل إلى 0.01٪ بالنسبة إلى العدد الإجمالي للصفوف.
  • عندما precise يتم تعيين إلى صحيح، يتم حساب الإحصائيات بدقة أعلى. أصبحت الآن جميع الإحصائيات باستثناء المدرجات التكرارية والنسب المئوية للأعمدة الرقمية دقيقة.
    • قد تحتوي المدرجات التكرارية والتقديرات المئوية على خطأ يصل إلى 0.0001٪ بالنسبة إلى العدد الإجمالي للصفوف.

يشير تلميح الأدوات في أعلى إخراج ملخص البيانات إلى وضع التشغيل الحالي.

يعرض هذا المثال إحصائيات ملخصة ل Apache Spark DataFrame مع تمكين التقريبات بشكل افتراضي. لمشاهدة النتائج، قم بتشغيل هذا الأمر في دفتر ملاحظات. يستند هذا المثال إلى مجموعات بيانات العينة.

Python

df = spark.read.format('csv').load(
  '/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv',
  header=True,
  inferSchema=True
)
dbutils.data.summarize(df)

R

df <- read.df("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv", source = "csv", header="true", inferSchema = "true")
dbutils.data.summarize(df)

Scala

val df = spark.read.format("csv")
  .option("inferSchema", "true")
  .option("header", "true")
  .load("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv")
dbutils.data.summarize(df)

لاحظ أن المرئيات تستخدم رمز SI لعرض القيم الرقمية بشكل موجز أصغر من 0.01 أو أكبر من 10000. على سبيل المثال، سيتم عرض القيمة 1.25e-15 الرقمية ك 1.25f. استثناء واحد: يستخدم المرئيات "B" ل 1.0e9 (giga) بدلا من "G".

الأداة المساعدة لنظام الملفات (dbutils.fs)

تحذير

يستخدم snake_case تنفيذ Python لكافة dbutils.fs الأساليب بدلا من camelCase تنسيق الكلمات الأساسية.

على سبيل المثال: بينما dbutils.fs.help() يعرض خيار extraConfigsdbutils.fs.mount()، في Python، يمكنك استخدام الكلمة الأساسية extra_configs.

الأوامر: cp، head، ls، mkdirs، mount، mounts، mv، put، refreshMounts، rm، unmount، updateMount

تسمح لك الأداة المساعدة لنظام الملفات بالوصول إلى ما هو نظام ملفات Databricks (DBFS)؟، ما يسهل استخدام Azure Databricks كنظام ملفات. لسرد الأوامر المتوفرة، قم بتشغيل dbutils.fs.help().

dbutils.fs provides utilities for working with FileSystems. Most methods in this package can take either a DBFS path (e.g., "/foo" or "dbfs:/foo"), or another FileSystem URI. For more info about a method, use dbutils.fs.help("methodName"). In notebooks, you can also use the %fs shorthand to access DBFS. The %fs shorthand maps straightforwardly onto dbutils calls. For example, "%fs head --maxBytes=10000 /file/path" translates into "dbutils.fs.head("/file/path", maxBytes = 10000)".

fsutils

cp(from: String, to: String, recurse: boolean = false): boolean -> Copies a file or directory, possibly across FileSystems
head(file: String, maxBytes: int = 65536): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
ls(dir: String): Seq -> 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
mv(from: String, to: String, recurse: boolean = false): boolean -> Moves a file or directory, possibly across FileSystems
put(file: String, contents: String, overwrite: boolean = false): boolean -> Writes the given String out to a file, encoded in UTF-8
rm(dir: String, recurse: boolean = false): boolean -> Removes a file or directory

mount

mount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Mounts the given source directory into DBFS at the given mount point
mounts: Seq -> Displays information about what is mounted within DBFS
refreshMounts: boolean -> Forces all machines in this cluster to refresh their mount cache, ensuring they receive the most recent information
unmount(mountPoint: String): boolean -> Deletes a DBFS mount point
updateMount(source: String, mountPoint: String, encryptionType: String = "", owner: String = null, extraConfigs: Map = Map.empty[String, String]): boolean -> Similar to mount(), but updates an existing mount point instead of creating a new one

أمر cp (dbutils.fs.cp)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("cp").

ينسخ هذا المثال الملف المسمى old_file.txt من /FileStore إلى /tmp/new، ويعيد تسمية الملف المنسخ إلى new_file.txt.

Python

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

# Out[4]: True

R

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

# [1] TRUE

Scala

dbutils.fs.cp("/FileStore/old_file.txt", "/tmp/new/new_file.txt")

// res3: Boolean = true

أمر الرأس (dbutils.fs.head)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("head").

يعرض هذا المثال أول 25 بايت من الملف my_file.txt الموجود في /tmp.

Python

dbutils.fs.head("/tmp/my_file.txt", 25)

# [Truncated to first 25 bytes]
# Out[12]: 'Apache Spark is awesome!\n'

R

dbutils.fs.head("/tmp/my_file.txt", 25)

# [1] "Apache Spark is awesome!\n"

Scala

dbutils.fs.head("/tmp/my_file.txt", 25)

// [Truncated to first 25 bytes]
// res4: String =
// "Apache Spark is awesome!
// "

الأمر ls (dbutils.fs.ls)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("ls").

يعرض هذا المثال معلومات حول محتويات /tmp. modificationTime يتوفر الحقل في Databricks Runtime 10.4 LTS وما فوق. في R، modificationTime يتم إرجاع كسلسلة.

Python

dbutils.fs.ls("/tmp")

# Out[13]: [FileInfo(path='dbfs:/tmp/my_file.txt', name='my_file.txt', size=40, modificationTime=1622054945000)]

R

dbutils.fs.ls("/tmp")

# For prettier results from dbutils.fs.ls(<dir>), please use `%fs ls <dir>`

# [[1]]
# [[1]]$path
# [1] "dbfs:/tmp/my_file.txt"

# [[1]]$name
# [1] "my_file.txt"

# [[1]]$size
# [1] 40

# [[1]]$isDir
# [1] FALSE

# [[1]]$isFile
# [1] TRUE

# [[1]]$modificationTime
# [1] "1622054945000"

Scala

dbutils.fs.ls("/tmp")

// res6: Seq[com.databricks.backend.daemon.dbutils.FileInfo] = WrappedArray(FileInfo(dbfs:/tmp/my_file.txt, my_file.txt, 40, 1622054945000))

أمر mkdirs (dbutils.fs.mkdirs)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("mkdirs").

ينشئ هذا المثال بنية /parent/child/grandchild الدليل داخل /tmp.

Python

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

# Out[15]: True

R

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

# [1] TRUE

Scala

dbutils.fs.mkdirs("/tmp/parent/child/grandchild")

// res7: Boolean = true

أمر التحميل (dbutils.fs.mount)

تحميل الدليل المصدر المحدد في DBFS عند نقطة التحميل المحددة.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("mount").

Python

dbutils.fs.mount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net",
  mount_point = "/mnt/<mount-name>",
  extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})

Scala

dbutils.fs.mount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<directory-name>",
  mountPoint = "/mnt/<mount-name>",
  extraConfigs = Map("<conf-key>" -> dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")))

للحصول على أمثلة تعليمات برمجية إضافية، راجع الاتصال إلى Azure Data Lake Storage Gen2 وBlob Storage.

الأمر mounts (dbutils.fs.mounts)

يعرض معلومات حول ما يتم تحميله حاليا داخل DBFS.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("mounts").

تحذير

استدعاء dbutils.fs.refreshMounts() على كافة المجموعات الأخرى قيد التشغيل لنشر التحميل الجديد. راجع الأمر refreshMounts (dbutils.fs.refreshMounts).

Python

dbutils.fs.mounts()

Scala

dbutils.fs.mounts()

للحصول على أمثلة تعليمات برمجية إضافية، راجع الاتصال إلى Azure Data Lake Storage Gen2 وBlob Storage.

أمر mv (dbutils.fs.mv)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("mv").

ينقل هذا المثال الملف my_file.txt من /FileStore إلى /tmp/parent/child/granchild.

Python

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

# Out[2]: True

R

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

# [1] TRUE

Scala

dbutils.fs.mv("/FileStore/my_file.txt", "/tmp/parent/child/grandchild")

// res1: Boolean = true

الأمر put (dbutils.fs.put)

كتابة السلسلة المحددة إلى ملف. السلسلة مشفرة UTF-8.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("put").

يكتب هذا المثال السلسلة Hello, Databricks! إلى ملف مسمى hello_db.txt في /tmp. إذا كان الملف موجودا، فسيتم الكتابة فوقه.

Python

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", True)

# Wrote 18 bytes.
# Out[6]: True

R

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", TRUE)

# [1] TRUE

Scala

dbutils.fs.put("/tmp/hello_db.txt", "Hello, Databricks!", true)

// Wrote 18 bytes.
// res2: Boolean = true

الأمر refreshMounts (dbutils.fs.refreshMounts)

يجبر جميع الأجهزة في نظام المجموعة على تحديث ذاكرة التخزين المؤقت للتركيب الخاصة بها، ما يضمن تلقيها أحدث المعلومات.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("refreshMounts").

Python

dbutils.fs.refreshMounts()

Scala

dbutils.fs.refreshMounts()

للحصول على أمثلة التعليمات البرمجية الإضافية، راجع الاتصال إلى Azure Data Lake Storage Gen2 وBlob Storage.

أمر rm (dbutils.fs.rm)

إزالة ملف أو دليل وكافة محتوياته اختياريا. إذا تم تحديد ملف، يتم تجاهل المعلمة recurse. إذا تم تحديد دليل، يحدث خطأ إذا تم تعطيل recurse وكان الدليل غير فارغ.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("rm").

يزيل هذا المثال الدليل /tmp بما في ذلك محتويات الدليل.

Python

dbutils.fs.rm("/tmp", True)

# Out[8]: True

R

dbutils.fs.rm("/tmp", TRUE)

# [1] TRUE

Scala

dbutils.fs.rm("/tmp", true)

// res6: Boolean = true

إلغاء تحميل الأمر (dbutils.fs.unmount)

حذف نقطة تحميل DBFS.

تحذير

لتجنب الأخطاء، لا تقم أبدا بتعديل نقطة تحميل أثناء قراءة الوظائف الأخرى لها أو الكتابة إليها. بعد تعديل التحميل، شغل dbutils.fs.refreshMounts() دائما على جميع أنظمة المجموعات الأخرى قيد التشغيل لنشر أي تحديثات للتركيب. راجع الأمر refreshMounts (dbutils.fs.refreshMounts).

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("unmount").

dbutils.fs.unmount("/mnt/<mount-name>")

للحصول على أمثلة تعليمات برمجية إضافية، راجع الاتصال إلى Azure Data Lake Storage Gen2 وBlob Storage.

الأمر updateMount (dbutils.fs.updateMount)

على dbutils.fs.mount غرار الأمر ، ولكن يحدث نقطة تحميل موجودة بدلا من إنشاء نقطة جديدة. إرجاع خطأ إذا لم تكن نقطة التحميل موجودة.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("updateMount").

تحذير

لتجنب الأخطاء، لا تقم أبدا بتعديل نقطة تحميل أثناء قراءة الوظائف الأخرى لها أو الكتابة إليها. بعد تعديل التحميل، شغل dbutils.fs.refreshMounts() دائما على جميع أنظمة المجموعات الأخرى قيد التشغيل لنشر أي تحديثات للتركيب. راجع الأمر refreshMounts (dbutils.fs.refreshMounts).

يتوفر هذا الأمر في Databricks Runtime 10.4 LTS وما فوق.

Python

dbutils.fs.updateMount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net",
  mount_point = "/mnt/<mount-name>",
  extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})

Scala

dbutils.fs.updateMount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<directory-name>",
  mountPoint = "/mnt/<mount-name>",
  extraConfigs = Map("<conf-key>" -> dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")))

الأداة المساعدة للوظائف (dbutils.jobs)

التبعيات: قيم المهام

إشعار

تتوفر هذه الأداة المساعدة فقط ل Python.

تتيح لك الأداة المساعدة للوظائف الاستفادة من ميزات الوظائف. لعرض التعليمات لهذه الأداة المساعدة، قم بتشغيل dbutils.jobs.help().

Provides utilities for leveraging jobs features.

taskValues: TaskValuesUtils -> Provides utilities for leveraging job task values

تماثل قيم المهام (dbutils.jobs.taskValues)

الأوامر: الحصول على، تعيين

إشعار

يتوفر هذا الإحلال فقط ل Python.

يوفر أوامر للاستفادة من قيم المهام الوظيفية.

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

لعرض التعليمات لهذا الإحلال، قم بتشغيل dbutils.jobs.taskValues.help().

الحصول على الأمر (dbutils.jobs.taskValues.get)

إشعار

يتوفر هذا الأمر فقط ل Python.

في Databricks Runtime 10.4 والإصدارات السابقة، إذا get تعذر العثور على المهمة، يتم رفع Py4JJavaError بدلا من ValueError.

يحصل على محتويات قيمة المهمة المحددة للمهمة المحددة في تشغيل المهمة الحالية.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.jobs.taskValues.help("get").

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

dbutils.jobs.taskValues.get(taskKey    = "my-task", \
                            key        = "my-key", \
                            default    = 7, \
                            debugValue = 42)

في المثال السابق:

  • taskKey هو اسم المهمة التي تعين قيمة المهمة. إذا تعذر على الأمر العثور على هذه المهمة، ValueError يتم رفع.
  • key هو اسم مفتاح قيمة المهمة الذي قمت بتعيينه باستخدام أمر المجموعة (dbutils.jobs.taskValues.set). إذا تعذر على الأمر العثور على مفتاح قيمة المهمة هذه، ValueError يتم رفع (ما لم default يتم تحديد).
  • default هي قيمة اختيارية يتم إرجاعها إذا key تعذر العثور عليها. default لا يمكن أن يكون None.
  • debugValue هي قيمة اختيارية يتم إرجاعها إذا حاولت الحصول على قيمة المهمة من داخل دفتر ملاحظات يعمل خارج الوظيفة. يمكن أن يكون هذا مفيدا أثناء تصحيح الأخطاء عندما تريد تشغيل دفتر الملاحظات يدويا وإرجاع بعض القيمة بدلا من رفعها TypeError بشكل افتراضي. debugValue لا يمكن أن يكون None.

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

تعيين الأمر (dbutils.jobs.taskValues.set)

إشعار

يتوفر هذا الأمر فقط ل Python.

تعيين قيمة مهمة أو تحديثها. يمكنك إعداد ما يصل إلى 250 قيمة مهمة لتشغيل مهمة.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.jobs.taskValues.help("set").

تشمل بعض الأمثلة ما يلي:

dbutils.jobs.taskValues.set(key   = "my-key", \
                            value = 5)

dbutils.jobs.taskValues.set(key   = "my-other-key", \
                            value = "my other value")

في الأمثلة السابقة:

  • key هو مفتاح قيمة المهمة. يجب أن يكون هذا المفتاح فريدا للمهمة. أي، إذا عينت مهمتان مختلفتان كل منهما قيمة مهمة بالمفتاح K، فهذه قيمتان مختلفتان للمهمة لها نفس المفتاح K.
  • value هي قيمة مفتاح قيمة المهمة هذه. يجب أن يكون هذا الأمر قادرا على تمثيل القيمة داخليا بتنسيق JSON. لا يمكن أن يتجاوز حجم تمثيل JSON للقيمة 48 KiB.

إذا حاولت تعيين قيمة مهمة من داخل دفتر ملاحظات يعمل خارج مهمة، فهذا الأمر لا يفعل شيئا.

الأداة المساعدة للمكتبة (dbutils.library)

يتم إهمال معظم الأساليب في dbutils.library الوحدات الفرعية. راجع الأداة المساعدة للمكتبة (dbutils.library) (قديم).

قد تحتاج إلى إعادة تشغيل عملية Python برمجيا على Azure Databricks للتأكد من أن المكتبات المثبتة محليا أو التي تمت ترقيتها تعمل بشكل صحيح في نواة Python ل SparkSession الحالي. للقيام بذلك، قم بتشغيل dbutils.library.restartPython الأمر . راجع إعادة تشغيل عملية Python على Azure Databricks.

الأداة المساعدة لدفتر الملاحظات (dbutils.notebook)

الأوامر: إنهاء، تشغيل

تسمح لك الأداة المساعدة لدفتر الملاحظات بتسلسل دفاتر الملاحظات والتصرف بناء على نتائجها. راجع تشغيل دفتر ملاحظات Databricks من دفتر ملاحظات آخر.

لسرد الأوامر المتوفرة، قم بتشغيل dbutils.notebook.help().

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.

أمر الخروج (dbutils.notebook.exit)

يقوم بالخروج من دفتر ملاحظات بقيمة.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.notebook.help("exit").

ينهي هذا المثال دفتر الملاحظات بالقيمة Exiting from My Other Notebook.

Python

dbutils.notebook.exit("Exiting from My Other Notebook")

# Notebook exited: Exiting from My Other Notebook

R

dbutils.notebook.exit("Exiting from My Other Notebook")

# Notebook exited: Exiting from My Other Notebook

Scala

dbutils.notebook.exit("Exiting from My Other Notebook")

// Notebook exited: Exiting from My Other Notebook

إشعار

إذا كان التشغيل يحتوي على استعلام مع تدفق منظم قيد التشغيل في الخلفية، فإن الاستدعاء dbutils.notebook.exit() لا ينهي التشغيل. سيستمر التشغيل في التنفيذ طالما يتم تنفيذ الاستعلام في الخلفية. يمكنك إيقاف تشغيل الاستعلام في الخلفية بالنقر فوق إلغاء الأمر في خلية الاستعلام أو عن طريق تشغيل query.stop(). عند توقف الاستعلام، يمكنك إنهاء التشغيل باستخدام dbutils.notebook.exit().

تشغيل الأمر (dbutils.notebook.run)

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

إشعار

الحد الأقصى لطول قيمة السلسلة التي تم إرجاعها من run الأمر هو 5 ميغابايت. راجع الحصول على الإخراج لتشغيل واحد (GET /jobs/runs/get-output).

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.notebook.help("run").

يقوم هذا المثال بتشغيل دفتر ملاحظات باسم My Other Notebook في نفس موقع دفتر الملاحظات المتصل. ينتهي دفتر الملاحظات المسمى بخط التعليمات البرمجية dbutils.notebook.exit("Exiting from My Other Notebook"). إذا لم ينتهي تشغيل دفتر الملاحظات المسمى في غضون 60 ثانية، يتم طرح استثناء.

Python

dbutils.notebook.run("My Other Notebook", 60)

# Out[14]: 'Exiting from My Other Notebook'

Scala

dbutils.notebook.run("My Other Notebook", 60)

// res2: String = Exiting from My Other Notebook

الأداة المساعدة للبيانات السرية (dbutils.secrets)

الأوامر: get, getBytes, list, listScopes

تسمح لك الأداة المساعدة للبيانات السرية بتخزين معلومات بيانات الاعتماد الحساسة والوصول إليها دون جعلها مرئية في دفاتر الملاحظات. راجع إدارة البيانات السرية واستخدم البيانات السرية في دفتر ملاحظات. لسرد الأوامر المتوفرة، قم بتشغيل dbutils.secrets.help().

get(scope: String, key: String): String -> Gets the string representation of a secret value with scope and key
getBytes(scope: String, key: String): byte[] -> Gets the bytes representation of a secret value with scope and key
list(scope: String): Seq -> Lists secret metadata for secrets within a scope
listScopes: Seq -> Lists secret scopes

الحصول على الأمر (dbutils.secrets.get)

يحصل على تمثيل سلسلة لقيمة سرية لنطاق الأسرار المحددة والمفتاح.

تحذير

يمكن لمنشئي مسؤول والمنشئين السريين والمستخدمين الذين تم منحهم الإذن قراءة أسرار Azure Databricks. بينما تبذل Azure Databricks جهدا لتنقية القيم السرية التي قد يتم عرضها في دفاتر الملاحظات، لا يمكن منع هؤلاء المستخدمين من قراءة الأسرار. لمزيد من المعلومات، راجع Redaction السري.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.secrets.help("get").

يحصل هذا المثال على تمثيل سلسلة القيمة السرية للنطاق المسمى my-scope والمفتاح المسمى my-key.

Python

dbutils.secrets.get(scope="my-scope", key="my-key")

# Out[14]: '[REDACTED]'

R

dbutils.secrets.get(scope="my-scope", key="my-key")

# [1] "[REDACTED]"

Scala

dbutils.secrets.get(scope="my-scope", key="my-key")

// res0: String = [REDACTED]

الأمر getBytes (dbutils.secrets.getBytes)

يحصل على تمثيل وحدات البايت لقيمة سرية للنطاق والمفتاح المحددين.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.secrets.help("getBytes").

يحصل هذا المثال على تمثيل البايت للقيمة السرية (في هذا المثال، a1!b2@c3#) للنطاق المسمى my-scope والمفتاح المسمى my-key.

Python

dbutils.secrets.getBytes(scope="my-scope", key="my-key")

# Out[1]: b'a1!b2@c3#'

R

dbutils.secrets.getBytes(scope="my-scope", key="my-key")

# [1] 61 31 21 62 32 40 63 33 23

Scala

dbutils.secrets.getBytes(scope="my-scope", key="my-key")

// res1: Array[Byte] = Array(97, 49, 33, 98, 50, 64, 99, 51, 35)

أمر القائمة (dbutils.secrets.list)

يسرد بيانات التعريف للبيانات السرية ضمن النطاق المحدد.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.secrets.help("list").

يسرد هذا المثال بيانات التعريف للبيانات السرية ضمن النطاق المسمى my-scope.

Python

dbutils.secrets.list("my-scope")

# Out[10]: [SecretMetadata(key='my-key')]

R

dbutils.secrets.list("my-scope")

# [[1]]
# [[1]]$key
# [1] "my-key"

Scala

dbutils.secrets.list("my-scope")

// res2: Seq[com.databricks.dbutils_v1.SecretMetadata] = ArrayBuffer(SecretMetadata(my-key))

أمر listScopes (dbutils.secrets.listScopes)

يسرد النطاقات المتوفرة.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.secrets.help("listScopes").

يسرد هذا المثال النطاقات المتوفرة.

Python

dbutils.secrets.listScopes()

# Out[14]: [SecretScope(name='my-scope')]

R

dbutils.secrets.listScopes()

# [[1]]
# [[1]]$name
# [1] "my-scope"

Scala

dbutils.secrets.listScopes()

// res3: Seq[com.databricks.dbutils_v1.SecretScope] = ArrayBuffer(SecretScope(my-scope))

الأداة المساعدة لعناصر واجهة المستخدم (dbutils.widgets)

الأوامر: مربع التحرير والسرد، القائمة المنسدلة، الحصول على، getArgument، متعدد التحديد، إزالة، إزالة الكل، نص

تسمح لك الأداة المساعدة لعناصر واجهة المستخدم بإضفاء معلمات على دفاتر الملاحظات. راجع أدوات Databricks.

لسرد الأوامر المتوفرة، قم بتشغيل dbutils.widgets.help().

combobox(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a combobox input widget with a given name, default value and choices
dropdown(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a dropdown input widget a with given name, default value and choices
get(name: String): String -> Retrieves current value of an input widget
getArgument(name: String, optional: String): String -> (DEPRECATED) Equivalent to get
multiselect(name: String, defaultValue: String, choices: Seq, label: String): void -> Creates a multiselect input widget with a given name, default value and choices
remove(name: String): void -> Removes an input widget from the notebook
removeAll: void -> Removes all widgets in the notebook
text(name: String, defaultValue: String, label: String): void -> Creates a text input widget with a given name and default value

أمر مربع التحرير والسرد (dbutils.widgets.combobox)

ينشئ ويعرض عنصر واجهة مستخدم مربع تحرير وسرد بالاسم البرمجي المحدد والقيمة الافتراضية والخيارات والتسمية الاختيارية.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.widgets.help("combobox").

ينشئ هذا المثال ويعرض عنصر واجهة مستخدم مربع تحرير وسرد بالاسم fruits_comboboxالبرمجي . يوفر الخيارات appleو bananacoconutو و dragon fruit ويتم تعيين إلى القيمة الأولية ل banana. يحتوي عنصر واجهة مستخدم مربع التحرير والسرد هذا على تسمية Fruitsمصاحبة . ينتهي هذا المثال بطباعة القيمة الأولية لعن طريق عنصر واجهة مستخدم مربع التحرير والسرد، banana.

Python

dbutils.widgets.combobox(
  name='fruits_combobox',
  defaultValue='banana',
  choices=['apple', 'banana', 'coconut', 'dragon fruit'],
  label='Fruits'
)

print(dbutils.widgets.get("fruits_combobox"))

# banana

R

dbutils.widgets.combobox(
  name='fruits_combobox',
  defaultValue='banana',
  choices=list('apple', 'banana', 'coconut', 'dragon fruit'),
  label='Fruits'
)

print(dbutils.widgets.get("fruits_combobox"))

# [1] "banana"

Scala

dbutils.widgets.combobox(
  "fruits_combobox",
  "banana",
  Array("apple", "banana", "coconut", "dragon fruit"),
  "Fruits"
)

print(dbutils.widgets.get("fruits_combobox"))

// banana

أمر القائمة المنسدلة (dbutils.widgets.dropdown)

ينشئ ويعرض عنصر واجهة مستخدم منسدلة بالاسم البرمجي المحدد والقيمة الافتراضية والخيارات والتسمية الاختيارية.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.widgets.help("dropdown").

ينشئ هذا المثال ويعرض عنصر واجهة مستخدم منسدلة بالاسم toys_dropdownالبرمجي . يوفر الخيارات alphabet blocksو basketballcapeو و doll ويتم تعيين إلى القيمة الأولية ل basketball. يحتوي عنصر واجهة المستخدم المنسدلة هذا على تسمية Toysمصاحبة . ينتهي هذا المثال بطباعة القيمة الأولية لعن طريق عنصر واجهة المستخدم المنسدلة، basketball.

Python

dbutils.widgets.dropdown(
  name='toys_dropdown',
  defaultValue='basketball',
  choices=['alphabet blocks', 'basketball', 'cape', 'doll'],
  label='Toys'
)

print(dbutils.widgets.get("toys_dropdown"))

# basketball

R

dbutils.widgets.dropdown(
  name='toys_dropdown',
  defaultValue='basketball',
  choices=list('alphabet blocks', 'basketball', 'cape', 'doll'),
  label='Toys'
)

print(dbutils.widgets.get("toys_dropdown"))

# [1] "basketball"

Scala

dbutils.widgets.dropdown(
  "toys_dropdown",
  "basketball",
  Array("alphabet blocks", "basketball", "cape", "doll"),
  "Toys"
)

print(dbutils.widgets.get("toys_dropdown"))

// basketball

الحصول على الأمر (dbutils.widgets.get)

يحصل على القيمة الحالية لعن الأداة بالاسم البرمجي المحدد. يمكن أن يكون هذا الاسم البرمجي إما:

  • اسم عنصر واجهة مستخدم مخصص في دفتر الملاحظات، على سبيل المثال fruits_combobox أو toys_dropdown.
  • اسم معلمة مخصصة تم تمريرها إلى دفتر الملاحظات كجزء من مهمة دفتر ملاحظات، على سبيل المثال name أو age. لمزيد من المعلومات، راجع تغطية المعلمات لمهام دفتر الملاحظات في إنشاء واجهة مستخدم مهمة أو notebook_params الحقل في عملية تشغيل مهمة جديدة (POST /jobs/run-now) في واجهة برمجة تطبيقات الوظائف.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.widgets.help("get").

يحصل هذا المثال على قيمة عنصر واجهة المستخدم الذي يحتوي على الاسم fruits_comboboxالبرمجي .

Python

dbutils.widgets.get('fruits_combobox')

# banana

R

dbutils.widgets.get('fruits_combobox')

# [1] "banana"

Scala

dbutils.widgets.get("fruits_combobox")

// res6: String = banana

يحصل هذا المثال على قيمة معلمة مهمة دفتر الملاحظات التي تحتوي على الاسم ageالبرمجي . تم تعيين هذه المعلمة إلى 35 عند تشغيل مهمة دفتر الملاحظات ذات الصلة.

Python

dbutils.widgets.get('age')

# 35

R

dbutils.widgets.get('age')

# [1] "35"

Scala

dbutils.widgets.get("age")

// res6: String = 35

الأمر getArgument (dbutils.widgets.getArgument)

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

إشعار

تم إهمال هذا الأمر. استخدم dbutils.widgets.get بدلا من ذلك.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.widgets.help("getArgument").

يحصل هذا المثال على قيمة عنصر واجهة المستخدم الذي يحتوي على الاسم fruits_comboboxالبرمجي . إذا لم يكن عنصر واجهة المستخدم هذا موجودا، يتم إرجاع الرسالة Error: Cannot find fruits combobox .

Python

dbutils.widgets.getArgument('fruits_combobox', 'Error: Cannot find fruits combobox')

# Deprecation warning: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
# Out[3]: 'banana'

R

dbutils.widgets.getArgument('fruits_combobox', 'Error: Cannot find fruits combobox')

# Deprecation warning: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
# [1] "banana"

Scala

dbutils.widgets.getArgument("fruits_combobox", "Error: Cannot find fruits combobox")

// command-1234567890123456:1: warning: method getArgument in trait WidgetsUtils is deprecated: Use dbutils.widgets.text() or dbutils.widgets.dropdown() to create a widget and dbutils.widgets.get() to get its bound value.
// dbutils.widgets.getArgument("fruits_combobox", "Error: Cannot find fruits combobox")
//                 ^
// res7: String = banana

الأمر متعدد التحديد (dbutils.widgets.multiselect)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.widgets.help("multiselect").

ينشئ هذا المثال ويعرض عنصر واجهة مستخدم متعدد التحديد بالاسم days_multiselectالبرمجي . يوفر الخيارات Monday من خلال Sunday ويتم تعيينه إلى القيمة الأولية ل Tuesday. يحتوي عنصر واجهة المستخدم متعدد التحديد هذا على تسمية Days of the Weekمصاحبة . ينتهي هذا المثال بطباعة القيمة الأولية لعن طريق عنصر واجهة المستخدم متعدد التحديد، Tuesday.

Python

dbutils.widgets.multiselect(
  name='days_multiselect',
  defaultValue='Tuesday',
  choices=['Monday', 'Tuesday', 'Wednesday', 'Thursday',
    'Friday', 'Saturday', 'Sunday'],
  label='Days of the Week'
)

print(dbutils.widgets.get("days_multiselect"))

# Tuesday

R

dbutils.widgets.multiselect(
  name='days_multiselect',
  defaultValue='Tuesday',
  choices=list('Monday', 'Tuesday', 'Wednesday', 'Thursday',
    'Friday', 'Saturday', 'Sunday'),
  label='Days of the Week'
)

print(dbutils.widgets.get("days_multiselect"))

# [1] "Tuesday"

Scala

dbutils.widgets.multiselect(
  "days_multiselect",
  "Tuesday",
  Array("Monday", "Tuesday", "Wednesday", "Thursday",
    "Friday", "Saturday", "Sunday"),
  "Days of the Week"
)

print(dbutils.widgets.get("days_multiselect"))

// Tuesday

إزالة الأمر (dbutils.widgets.remove)

يزيل عنصر واجهة المستخدم بالاسم البرمجي المحدد.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.widgets.help("remove").

هام

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

يزيل هذا المثال عنصر واجهة المستخدم بالاسم fruits_comboboxالبرمجي .

Python

dbutils.widgets.remove('fruits_combobox')

R

dbutils.widgets.remove('fruits_combobox')

Scala

dbutils.widgets.remove("fruits_combobox")

الأمر removeAll (dbutils.widgets.removeAll)

إزالة جميع عناصر واجهة المستخدم من دفتر الملاحظات.

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.widgets.help("removeAll").

هام

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

يزيل هذا المثال جميع عناصر واجهة المستخدم من دفتر الملاحظات.

Python

dbutils.widgets.removeAll()

R

dbutils.widgets.removeAll()

Scala

dbutils.widgets.removeAll()

الأمر النصي (dbutils.widgets.text)

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

لعرض التعليمات لهذا الأمر، قم بتشغيل dbutils.widgets.help("text").

ينشئ هذا المثال ويعرض عنصر واجهة مستخدم نصيا بالاسم your_name_textالبرمجي . يتم تعيينه إلى القيمة الأولية ل Enter your name. يحتوي عنصر واجهة مستخدم النص هذا على تسمية Your nameمرفقة . ينتهي هذا المثال بطباعة القيمة الأولية لعنوة النص، Enter your name.

Python

dbutils.widgets.text(
  name='your_name_text',
  defaultValue='Enter your name',
  label='Your name'
)

print(dbutils.widgets.get("your_name_text"))

# Enter your name

R

dbutils.widgets.text(
  name='your_name_text',
  defaultValue='Enter your name',
  label='Your name'
)

print(dbutils.widgets.get("your_name_text"))

# [1] "Enter your name"

Scala

dbutils.widgets.text(
  "your_name_text",
  "Enter your name",
  "Your name"
)

print(dbutils.widgets.get("your_name_text"))

// Enter your name

مكتبة واجهة برمجة تطبيقات Databricks Utilities

هام

تم إهمال مكتبة Databricks Utilities API (dbutils-api). على الرغم من أن هذه المكتبة لا تزال متوفرة، إلا أن Databricks لا تخطط لأي عمل ميزة جديد للمكتبة dbutils-api .

توصي Databricks باستخدام إحدى المكتبات التالية بدلا من ذلك:

لتسريع تطوير التطبيقات، قد يكون من المفيد تجميع التطبيقات وبنائها واختبارها قبل نشرها كمهام إنتاج. لتمكينك من التحويل البرمجي مقابل Databricks Utilities، يوفر Databricks المكتبة dbutils-api . يمكنك تنزيل dbutils-api المكتبة من صفحة ويب DBUtils API على موقع Maven Repository على الويب أو تضمين المكتبة عن طريق إضافة تبعية إلى ملف الإنشاء الخاص بك:

  • السبط

    libraryDependencies += "com.databricks" % "dbutils-api_TARGET" % "VERSION"
    
  • Maven

    <dependency>
        <groupId>com.databricks</groupId>
        <artifactId>dbutils-api_TARGET</artifactId>
        <version>VERSION</version>
    </dependency>
    
  • Gradle

    compile 'com.databricks:dbutils-api_TARGET:VERSION'
    

استبدل TARGET بالهدف المطلوب (على سبيل المثال 2.12) والإصدار VERSION المطلوب (على سبيل المثال 0.0.5). للحصول على قائمة بالأهداف والإصدارات المتوفرة، راجع صفحة الويب DBUtils API على موقع Maven Repository على الويب.

بمجرد إنشاء التطبيق الخاص بك مقابل هذه المكتبة، يمكنك نشر التطبيق.

هام

dbutils-api تسمح لك المكتبة بتجميع تطبيق يستخدم dbutils، ولكن ليس لتشغيله. لتشغيل التطبيق، يجب نشره في Azure Databricks.

القيود

يمكن أن يؤدي الاتصال dbutils داخل المنفذين إلى نتائج غير متوقعة أو قد يؤدي إلى أخطاء.

إذا كنت بحاجة إلى تشغيل عمليات نظام الملفات على المنفذين باستخدام dbutils، فهناك العديد من البدائل الأسرع والأكثر قابلية للتطوير المتاحة:

  • بالنسبة لعمليات نسخ الملفات أو نقلها، يمكنك التحقق من خيار أسرع لتشغيل عمليات نظام الملفات الموضحة في موازاة عمليات نظام الملفات.
  • بالنسبة إلى قائمة نظام الملفات وعمليات الحذف، يمكنك الرجوع إلى أساليب السرد والحذف المتوازية باستخدام Spark في كيفية سرد الملفات وحذفها بشكل أسرع في Databricks.

للحصول على معلومات حول المنفذين، راجع نظرة عامة على وضع نظام المجموعة على موقع Apache Spark على الويب.