داتابريكز المرافق
أدوات Databricks المساعدة (dbutils
) تجعل من السهل تنفيذ مجموعات قوية من المهام. يمكنك استخدام الأدوات المساعدة للعمل مع تخزين الكائنات بكفاءة، ولتسلسل دفاتر الملاحظات ومعلماتها، وللعمل مع الأسرار. dbutils
غير مدعومة خارج أجهزة الكمبيوتر المحمولة.
هام
يمكن أن يؤدي الاتصال dbutils
داخل المنفذين إلى نتائج غير متوقعة. لمعرفة المزيد حول القيود dbutils
والبدائل التي يمكن استخدامها بدلا من ذلك، راجع dbutils
.
dbutils
تتوفر الأدوات المساعدة في أجهزة الكمبيوتر المحمولة Python و R و Scala.
كيفية القيام بما يلي: قائمة الأدوات المساعدة، وأوامر القائمة، وعرض تعليمات الأوامر
الأدوات المساعدة: البيانات ، fs ، المكتبة ، دفتر الملاحظات ، الأسرار ، الأدوات ، مكتبةواجهة برمجة تطبيقات الأدوات المساعدة
قائمة الأدوات المساعدة المتاحة
لسرد الأدوات المساعدة المتوفرة مع وصف قصير لكل أداة مساعدة، قم بتشغيل dbutils.help()
Python أو Scala.
يسرد هذا المثال الأوامر المتوفرة لأدوات Databricks المساعدة.
Python
dbutils.help()
Scala
dbutils.help()
This module provides various utilities for users to interact with the rest of Databricks.
fs: DbfsUtils -> Manipulates the Databricks filesystem (DBFS) from the console
library: LibraryUtils -> Utilities for session isolated libraries
notebook: NotebookUtils -> Utilities for the control flow of a notebook (EXPERIMENTAL)
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.summariz)
يحسب ويعرض إحصائيات موجزة ل Apache Spark DataFrame أو Pandas DataFrame. يتوفر هذا الأمر ل Python و Scala و R.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.data.help("summarize")
.
في Databricks Runtime 10.1 والإصدارات الأحدث، يمكنك استخدام المعلمة الإضافية precise
لضبط دقة الإحصاءات المحسوبة.
ملاحظة
توجد هذه الميزة في "المعاينة العامة".
- عند
precise
التعيين إلى false (الافتراضي)، تتضمن بعض الإحصائيات التي تم إرجاعها تقريبيات لتقليل وقت التشغيل.- قد يحتوي عدد القيم المميزة للأعمدة الفئوية على خطأ نسبي بنسبة 5٪ تقريبا للأعمدة عالية الكاردينالية.
- قد يكون لعدد القيم المتكررة خطأ يصل إلى 0.01٪ عندما يكون عدد القيم المميزة أكبر من 10000.
- قد تحتوي المدرج التكراري والتقديرات المئوية على خطأ يصل إلى 0.01٪ بالنسبة إلى إجمالي عدد الصفوف.
- عند
precise
تعيينها إلى true، يتم حساب الإحصائيات بدقة أعلى. جميع الإحصاءات باستثناء المدرج التكراري والنسب المئوية للأعمدة الرقمية هي الآن دقيقة.- قد تحتوي المدرج التكراري والتقديرات المئوية على خطأ يصل إلى 0.0001٪ بالنسبة إلى إجمالي عدد الصفوف.
يشير تلميح الأداة الموجود أعلى إخراج ملخص البيانات إلى وضع التشغيل الحالي.
يعرض هذا المثال إحصائيات موجزة ل Apache Spark DataFrame مع تمكين التقريب افتراضيا. للاطلاع على النتائج، قم بتشغيل هذا الأمر في دفتر ملاحظات. يستند هذا المثال إلى مجموعات بيانات Azure Databricks.
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
(B
) بدلا من "G
".
الأداة المساعدة لنظام الملفات (dbutils.fs)
الأوامر: CP ، الرأس ، ls ، mkdirs ، جبل ، يتصاعد ، mv ، وضع ، refreshMounts ، RM ، إلغاء التحميل ، 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.2 والإصدارات الأحدث. في 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 Blob.
أمر التثبيت (dbutils.fs.mounts)
يعرض معلومات حول ما يتم تثبيته حاليا داخل DBFS.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("mounts")
.
Python
dbutils.fs.mounts()
Scala
dbutils.fs.mounts()
للحصول على أمثلة إضافية للتعليمات البرمجية، راجع تخزين Azure Blob.
أمر 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
وضع الأمر (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 Blob.
أمر RM (dbutils.fs.rm)
إزالة ملف أو دليل.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("rm")
.
يزيل هذا المثال الملف المسمى hello_db.txt
في /tmp
.
Python
dbutils.fs.rm("/tmp/hello_db.txt")
# Out[8]: True
R
dbutils.fs.rm("/tmp/hello_db.txt")
# [1] TRUE
Scala
dbutils.fs.rm("/tmp/hello_db.txt")
// res6: Boolean = true
أمر إلغاء التحميل (dbutils.fs.unmount)
حذف نقطة تحميل DBFS.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("unmount")
.
dbutils.fs.unmount("/mnt/<mount-name>")
للحصول على أمثلة إضافية للتعليمات البرمجية، راجع تخزين Azure Blob.
الأمر updateMount (dbutils.fs.updateMount)
على dbutils.fs.mount
غرار الأمر ، ولكن يقوم بتحديث نقطة تحميل موجودة بدلا من إنشاء نقطة جديدة. ترجع هذه الدالة خطأ إذا لم تكن نقطة التحميل موجودة.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.fs.help("updateMount")
.
يتوفر هذا الأمر في Databricks Runtime 10.2 والإصدارات الأحدث.
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.library)
ملاحظة
تم إهمال الأداة المساعدة للمكتبة.
الأوامر: تثبيت، تثبيتPyPI، قائمة، إعادة تشغيلPython، تحديثCondaEnv
تتيح لك الأداة المساعدة للمكتبة تثبيت مكتبات Python وإنشاء بيئة محددة النطاق لجلسة عمل دفتر ملاحظات. تتوفر المكتبات على كل من برنامج التشغيل والمنفذين، بحيث يمكنك الرجوع إليها في الوظائف المعرفة من قبل المستخدم. وهذا يمكن:
- تبعيات المكتبة لدفتر ملاحظات ليتم تنظيمها داخل دفتر الملاحظات نفسه.
- مستخدمو دفتر الملاحظات الذين لديهم تبعيات مكتبة مختلفة لمشاركة مجموعة دون تدخل.
يؤدي فصل دفتر ملاحظات إلى تدمير هذه البيئة. ومع ذلك، يمكنك إعادة إنشائه عن طريق إعادة تشغيل أوامر واجهة برمجة تطبيقات المكتبة install
في دفتر الملاحظات. راجع واجهة restartPython
برمجة التطبيقات لمعرفة كيفية إعادة تعيين حالة دفتر الملاحظات دون فقدان بيئتك.
هام
لا تتوفر الأدوات المساعدة للمكتبة على Databricks Runtime ML أو Databricks Runtime for Genomics. بدلا من ذلك، راجع مكتبات Python ذات النطاق الدفتري.
بالنسبة إلى Databricks Runtime 7.2 والإصدارات الأحدث، توصي Databricks باستخدام %pip
الأوامر السحرية لتثبيت المكتبات ذات النطاق الدفتري. راجع مكتبات Python ذات النطاق الدفتري.
يتم تمكين الأدوات المساعدة للمكتبة بشكل افتراضي. لذلك، يتم عزل بيئة Python لكل دفتر ملاحظات بشكل افتراضي باستخدام ملف Python قابل للتنفيذ منفصل يتم إنشاؤه عند إرفاق دفتر الملاحظات ببيئة Python الافتراضية على الكتلة ويرثها. لا تزال المكتبات المثبتة من خلال برنامج نصي init في بيئة Azure Databricks Python متاحة. يمكنك تعطيل هذه الميزة عن طريق الإعداد spark.databricks.libraryIsolation.enabled
إلى false
.
تتوافق واجهة برمجة التطبيقات هذه مع تثبيت المكتبة الموجودة على مستوى المجموعة من خلال واجهة المستخدم وواجهةبرمجة تطبيقات REST. تتمتع المكتبات المثبتة من خلال واجهة برمجة التطبيقات هذه بأولوية أعلى من المكتبات على مستوى المجموعة.
لسرد الأوامر المتوفرة، قم بتشغيل dbutils.library.help()
.
install(path: String): boolean -> Install the library within the current notebook session
installPyPI(pypiPackage: String, version: String = "", repo: String = "", extras: String = ""): boolean -> Install the PyPI library within the current notebook session
list: List -> List the isolated libraries added for the current notebook session via dbutils
restartPython: void -> Restart python process for the current notebook session
updateCondaEnv(envYmlContent: String): boolean -> Update the current notebook's Conda environment based on the specification (content of environment
الأمر install (dbutils.library.install)
نظرا لوجود مسار إلى مكتبة، قم بتثبيت تلك المكتبة داخل جلسة عمل دفتر الملاحظات الحالية. تتوفر المكتبات المثبتة عن طريق استدعاء هذا الأمر فقط لدفتر الملاحظات الحالي.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("install")
.
يقوم هذا المثال بتثبيت مكتبة .egg
أو .whl
مكتبة داخل دفتر ملاحظات.
هام
توصي Databricks بوضع جميع أوامر تثبيت المكتبة في الخلية الأولى من دفتر الملاحظات والاتصال restartPython
في نهاية تلك الخلية. تتم إعادة تعيين حالة دفتر ملاحظات Python بعد التشغيل restartPython
؛ يفقد دفتر الملاحظات كل الحالة بما في ذلك على سبيل المثال لا الحصر المتغيرات المحلية والمكتبات المستوردة والحالات الزائلة الأخرى. لذلك، نوصي بتثبيت المكتبات وإعادة تعيين حالة دفتر الملاحظات في خلية دفتر الملاحظات الأولى .
مصادر المكتبة المقبولة هي dbfs
، abfss
، و adl
، و wasbs
.
dbutils.library.install("abfss:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("abfss:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
ملاحظة
يمكنك تثبيت ملفات العجلات المخصصة مباشرة باستخدام %pip
. في المثال التالي ، نفترض أنك قمت بتحميل ملف عجلة المكتبة إلى DBFS:
%pip install /dbfs/path/to/your/library.whl
لا يتم دعم ملفات البيض بواسطة pip ، وتعتبر العجلة هي المعيار للبناء والتعبئة الثنائية ل Python. انظر Wheel vs Egg لمزيد من التفاصيل. ومع ذلك، إذا كنت تريد استخدام ملف بيضة بطريقة متوافقة مع %pip
، يمكنك استخدام الحل البديل التالي:
# This step is only needed if no %pip commands have been run yet.
# It will trigger setting up the isolated notebook environment
%pip install <any-lib> # This doesn't need to be a real library; for example "%pip install any-lib" would work
import sys
# Assuming the preceding step was completed, the following command
# adds the egg file to the current notebook environment
sys.path.append("/local/path/to/library.egg")
الأمر installPyPI (dbutils.library.installPyPI)
بالنظر إلى حزمة فهرس حزمة Python (PyPI)، قم بتثبيت هذه الحزمة ضمن جلسة عمل دفتر الملاحظات الحالية. يتم عزل المكتبات المثبتة عن طريق استدعاء هذا الأمر بين دفاتر الملاحظات.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("installPyPI")
.
يقوم هذا المثال بتثبيت حزمة PyPI في دفتر ملاحظات. version
، repo
وهي اختيارية extras
. استخدم الوسيطة extras
لتحديد extras
(المتطلبات الإضافية).
dbutils.library.installPyPI("pypipackage", version="version", repo="repo", extras="extras")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
هام
version
لا يمكن أن تكون المفاتيح والمفاتيح extras
جزءا من سلسلة حزمة PyPI. على سبيل المثال: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0")
غير صالح. استخدم الوسيطات version
ولتحديد extras
معلومات الإصدار والإضافات كما يلي:
dbutils.library.installPyPI("azureml-sdk", version="1.19.0", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
ملاحظة
عند استبدال الأوامر dbutils.library.installPyPI
بالأوامر %pip
، تتم إعادة تشغيل مترجم Python تلقائيا. يمكنك تشغيل أمر التثبيت كما يلي:
%pip install azureml-sdk[databricks]==1.19.0
يحدد هذا المثال متطلبات المكتبة في دفتر ملاحظات واحد ويقوم بتثبيتها باستخدامها %run
في دفتر الملاحظات الآخر. للقيام بذلك، قم أولا بتحديد المكتبات المراد تثبيتها في دفتر ملاحظات. يستخدم هذا المثال دفتر ملاحظات باسم InstallDependencies
.
dbutils.library.installPyPI("torch")
dbutils.library.installPyPI("scikit-learn", version="1.19.1")
dbutils.library.installPyPI("azureml-sdk", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
ثم قم بتثبيتها في دفتر الملاحظات الذي يحتاج إلى هذه التبعيات.
%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...
يعيد هذا المثال تعيين حالة دفتر ملاحظات Python مع الحفاظ على البيئة. تتوفر هذه التقنية فقط في أجهزة الكمبيوتر المحمولة Python. على سبيل المثال، يمكنك استخدام هذه التقنية لإعادة تحميل المكتبات Azure Databricks المثبتة مسبقا بإصدار مختلف:
dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy
يمكنك أيضا استخدام هذه التقنية لتثبيت مكتبات مثل tensorflow التي تحتاج إلى تحميلها عند بدء العملية:
dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow
أمر القائمة (dbutils.library.list)
يسرد المكتبات المعزولة المضافة لجلسة عمل دفتر الملاحظات الحالية من خلال الأداة المساعدة للمكتبة. لا يشمل ذلك المكتبات المرفقة بنظام المجموعة.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("list")
.
يسرد هذا المثال المكتبات المثبتة في دفتر ملاحظات.
dbutils.library.list()
ملاحظة
ما يعادل استخدام هذا الأمر %pip
هو:
%pip freeze
الأمر restartPython (dbutils.library.restartPython)
إعادة تشغيل عملية Python لجلسة عمل دفتر الملاحظات الحالية.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("restartPython")
.
يعيد هذا المثال تشغيل عملية Python لجلسة عمل دفتر الملاحظات الحالية.
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
الأمر updateCondaEnv (dbutils.library.updateCondaEnv)
تحديث بيئة Conda الخاصة بدفتر الملاحظات الحالي استنادا إلى محتويات environment.yml
. يتم دعم هذه الطريقة فقط لوقت تشغيل Databricks على Conda.
لعرض تعليمات لهذا الأمر، قم بتشغيل dbutils.library.help("updateCondaEnv")
.
يقوم هذا المثال بتحديث بيئة Conda الخاصة بدفتر الملاحظات الحالي استنادا إلى محتويات المواصفات المتوفرة.
dbutils.library.updateCondaEnv(
"""
channels:
- anaconda
dependencies:
- gensim=3.4
- nltk=3.4
""")
الأداة المساعدة للكمبيوتر المحمول (dbutils.notebook)
تتيح لك الأداة المساعدة لأجهزة الكمبيوتر المحمولة ربط دفاتر الملاحظات معا والعمل على نتائجها. راجع مهام سير عمل دفتر الملاحظات.
لسرد الأوامر المتوفرة، قم بتشغيل 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.run)
تشغيل دفتر ملاحظات وإرجاع قيمة الخروج الخاصة به. سيتم تشغيل دفتر الملاحظات في المجموعة الحالية بشكل افتراضي.
ملاحظة
الحد الأقصى لطول قيمة السلسلة التي run
تم إرجاعها من الأمر هو 5 ميغابايت. راجع الحصول على الإخراج لتشغيل واحد ().
لعرض تعليمات لهذا الأمر، قم بتشغيل 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)
الأوامر: الحصول على، getBytes، قائمة، listScopes
تتيح لك الأداة المساعدة Secrets تخزين معلومات بيانات الاعتماد الحساسة والوصول إليها دون جعلها مرئية في دفاتر الملاحظات. راجع الإدارة السريةواستخدم الأسرار في دفتر ملاحظات. لسرد الأوامر المتوفرة، قم بتشغيل 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 جهدا لتنقيح القيم السرية التي قد يتم عرضها في دفاتر الملاحظات، لا يمكن منع هؤلاء المستخدمين من قراءة الأسرار. لمزيد من المعلومات، راجع التنقيح السري.
لعرض تعليمات لهذا الأمر، قم بتشغيل 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
my_secret = dbutils.secrets.getBytes(scope="my-scope", key="my-key")
my_secret.decode("utf-8")
# Out[1]: 'a1!b2@c3#'
R
my_secret = dbutils.secrets.getBytes(scope="my-scope", key="my-key")
print(rawToChar(my_secret))
# [1] "a1!b2@c3#"
Scala
val mySecret = dbutils.secrets.getBytes(scope="my-scope", key="my-key")
val convertedString = new String(mySecret)
println(convertedString)
// a1!b2@c3#
// mySecret: Array[Byte] = Array(97, 49, 33, 98, 50, 64, 99, 51, 35)
// convertedString: String = a1!b2@c3#
أمر القائمة (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 ، التحديد المتعدد ، الإزالة ، إزالة الكل ، النص
تتيح لك الأداة المساعدة widgets تحديد معلمات أجهزة الكمبيوتر المحمولة. انظر الحاجيات.
لسرد الأوامر المتوفرة، قم بتشغيل 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
، banana
، ، coconut
ويتم 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
، basketball
، ، cape
ويتم 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
. لمزيد من المعلومات، راجع تغطية المعلمات لمهام دفتر الملاحظات في إنشاء واجهة مستخدم مهمة أو الحقل الموجود في عملية تشغيل مهمة جديدة () في واجهة برمجة تطبيقات الوظائف.
لعرض تعليمات لهذا الأمر، قم بتشغيل 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 المساعدة، توفر Databricks المكتبة dbutils-api
. يمكنك تنزيل المكتبة dbutils-api
من صفحة ويب dbutils-api
على موقع ويب مستودع Maven أو تضمين المكتبة عن طريق إضافة تبعية إلى ملف الإنشاء الخاص بك:
إس بي تي
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 على موقع ويب مستودع Maven.
بمجرد إنشاء التطبيق الخاص بك مقابل هذه المكتبة، يمكنك نشر التطبيق.
هام
dbutils-api
تسمح لك المكتبة بتجميع تطبيق يستخدم dbutils
، ولكن ليس لتشغيله. لتشغيل التطبيق، يجب نشره في Azure Databricks.
التقييدات
يمكن أن يؤدي الاتصال dbutils
داخل المنفذين إلى نتائج غير متوقعة أو قد يؤدي إلى أخطاء.
إذا كنت بحاجة إلى تشغيل عمليات نظام الملفات على المنفذين باستخدام dbutils
، فهناك العديد من البدائل الأسرع والأكثر قابلية للتطوير المتاحة:
- بالنسبة لعمليات نسخ الملفات أو نقلها، يمكنك التحقق من خيار أسرع لتشغيل عمليات نظام الملفات الموضحة في عمليات نظام الملفات بالتوازي.
- بالنسبة لعمليات قائمة نظام الملفات وحذفها، يمكنك الرجوع إلى طرق الإدراج والحذف المتوازية باستخدام Spark في كيفية سرد الملفات وحذفها بشكل أسرع في Databricks.
للحصول على معلومات حول المنفذين، راجع نظرة عامة على وضع نظام المجموعة على موقع Apache Spark على الويب.