إدارة الملفات في وحدات التخزين
توفر هذه المقالة أمثلة لإدارة الملفات في وحدات تخزين كتالوج Unity لمختلف واجهات المستخدم والأدوات والمكتبات واللغات.
توصي Databricks باستخدام وحدات التخزين لإدارة جميع الوصول إلى البيانات غير الجدولية في تخزين الكائنات السحابية. تتضمن أمثلة البيانات غير الجدولية ما يلي:
- ملفات البيانات لاستيعاب مثل CSV وJSON وParquet.
- الملفات النصية والصور والصوتية لعلوم البيانات وML وأحمال العمل الذكاء الاصطناعي.
- عناصر CSV أو JSON المكتوبة بواسطة Azure Databricks للتكامل مع الأنظمة الخارجية.
يمكنك استخدام وحدات التخزين لتخزين الملفات مثل المكتبات والبرامج النصية للتصنيف وإنشاء البيانات الاصطناعية. راجع توصيات الملفات في وحدات التخزين وملفات مساحة العمل.
يوفر مستكشف الكتالوج خيارات لمهام إدارة الملفات الشائعة للملفات المخزنة مع وحدات تخزين كتالوج Unity.
للتفاعل مع الملفات في وحدة تخزين، قم بما يلي:
- في مساحة عمل Azure Databricks، انقر فوق كتالوج.
- ابحث عن وحدة التخزين التي تريد العمل عليها أو استعرض بحثا عنها وحددها.
للحصول على تفاصيل حول إنشاء وحدات التخزين وإدارتها، راجع إنشاء وحدات التخزين وإدارتها.
يفتح الزر تحميل إلى وحدة التخزين هذه مربع حوار لتحميل الملفات. راجع تحميل الملفات إلى وحدة تخزين كتالوج Unity.
لا يمكن أن تتجاوز الملفات التي تم تحميلها 5 غيغابايت.
لتنزيل الملفات من وحدة تخزين، قم بما يلي:
- حدد ملفا واحدا أو أكثر.
- انقر فوق تنزيل لتنزيل هذه الملفات.
لحذف الملفات من وحدة تخزين، قم بما يلي:
- حدد ملفا واحدا أو أكثر.
- انقر على حذف.
- انقر فوق حذف للتأكيد في مربع الحوار الذي يظهر.
لإنشاء دليل جديد في وحدة تخزين، قم بما يلي:
- انقر فوق إلى يمين اسم وحدة التخزين.
- حدد Create directory.
- أدخل اسم دليل.
- انقر فوق Create.
لحذف الدلائل من وحدة تخزين، قم بما يلي:
- حدد دليلا واحدا أو أكثر.
- انقر على حذف.
- انقر فوق حذف للتأكيد في مربع الحوار الذي يظهر.
انقر فوق قائمة kebab بجوار اسم ملف لتنفيذ الإجراءات التالية:
- مسار النسخ
- تنزيل الملف
- حذف الملف
- إنشاء جدول
يوفر Azure Databricks واجهة مستخدم لإنشاء جدول مدار لكتالوج Unity من ملف أو ملفات أو دليل الملفات المخزنة في وحدة تخزين كتالوج Unity.
يجب أن يكون لديك CREATE TABLE
أذونات في المخطط الهدف وأن يكون لديك حق الوصول إلى مستودع SQL قيد التشغيل.
حدد ملفا واحدا أو أكثر أو دليلا. يجب أن يكون للملفات نفس تخطيط البيانات.
انقر فوق إنشاء جدول. يظهر مربع الحوار إنشاء جدول من وحدات التخزين.
استخدم مربع الحوار المتوفر لمراجعة معاينة البيانات وإكمال التكوينات التالية:
- اختر إنشاء جدول جديد أو الكتابة فوق جدول موجود
- حدد الكتالوج والمخطط الهدف.
- حدد اسم الجدول.
- (اختياري) تجاوز أسماء الأعمدة وأنواعها الافتراضية، أو اختيار استبعاد الأعمدة.
ملاحظة
انقر فوق سمات متقدمة لعرض خيارات إضافية.
انقر فوق إنشاء جدول لإنشاء الجدول باستخدام السمات المحددة. عند الانتهاء، يعرض مستكشف الكتالوج تفاصيل الجدول.
يمكنك قراءة الملفات وكتابتها في وحدات تخزين من جميع اللغات المدعومة ومحررات مساحة العمل باستخدام التنسيق التالي:
/Volumes/catalog_name/schema_name/volume_name/path/to/files
يمكنك التفاعل مع الملفات في وحدات التخزين بنفس الطريقة التي تتفاعل بها مع الملفات في أي موقع تخزين للكائنات السحابية. وهذا يعني أنه إذا كنت تدير حاليا التعليمات البرمجية التي تستخدم معرفات URI السحابية أو مسارات تحميل DBFS أو مسارات جذر DBFS للتفاعل مع البيانات أو الملفات، يمكنك تحديث التعليمات البرمجية لاستخدام وحدات التخزين بدلا من ذلك.
ملاحظة
يتم استخدام وحدات التخزين فقط للبيانات غير الجدولية. توصي Databricks بتسجيل البيانات الجدولية باستخدام جداول كتالوج Unity ثم قراءة البيانات وكتابتها باستخدام أسماء الجداول.
يمكنك استخدام Apache Spark وpandas وSpark SQL ومكتبات OSS الأخرى لقراءة ملفات البيانات وكتابتها في وحدات التخزين.
توضح الأمثلة التالية قراءة ملف CSV المخزن في وحدة تخزين:
df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")
display(df)
import pandas as pd
df = pd.read_csv('/Volumes/catalog_name/schema_name/volume_name/data.csv')
display(df)
SELECT * FROM csv.`/Volumes/catalog_name/schema_name/volume_name/data.csv`
يوفر Databricks الأدوات التالية لإدارة الملفات في وحدات التخزين:
dbutils.fs
النموذج الفرعي في Databricks Utilities. راجع الأداة المساعدة لنظام الملفات (dbutils.fs).- السحر
%fs
، وهو اسم مستعار لdbutils.fs
. %sh
السحر، الذي يسمح أمر bash مقابل وحدات التخزين.
للحصول على مثال لاستخدام هذه الأدوات لتنزيل الملفات من الإنترنت وفك ضغط الملفات ونقل الملفات من تخزين الكتلة المؤقتة إلى وحدات التخزين، راجع تنزيل البيانات من الإنترنت.
يمكنك أيضا استخدام حزم OSS لأوامر الأداة المساعدة للملف، مثل وحدة Python os
، كما هو موضح في المثال التالي:
import os
os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')
يوفر Databricks مجموعة من الأدوات لإدارة الملفات برمجيا في وحدات التخزين من بيئتك المحلية أو الأنظمة المتكاملة.
يدعم Azure Databricks الكلمات الأساسية SQL التالية للتفاعل مع الملفات في وحدات التخزين:
ملاحظة
تدعم LIST
دفاتر ملاحظات Databricks أو محرر الاستعلام الأمر فقط.
تدعم موصلات Databricks SQL وبرامج التشغيل التالية إدارة الملفات في وحدات التخزين:
- موصل Databricks SQL ل Python. راجع إدارة الملفات في وحدات تخزين كتالوج Unity.
- برنامج تشغيل Databricks SQL ل Go. راجع إدارة الملفات في وحدات تخزين كتالوج Unity.
- برنامج تشغيل Databricks SQL ل Node.js. راجع إدارة الملفات في وحدات تخزين كتالوج Unity.
- برنامج تشغيل Databricks JDBC. راجع إدارة الملفات في وحدات تخزين كتالوج Unity باستخدام برنامج تشغيل Databricks JDBC.
- برنامج تشغيل Databricks ODBC. راجع إدارة الملفات في وحدات تخزين كتالوج Unity باستخدام برنامج تشغيل Databricks ODBC.
استخدم الأوامر الفرعية في databricks fs
. راجع مجموعة أوامر fs.
ملاحظة
يتطلب Databricks CLI أن يسبق المخطط dbfs:/
كافة مسارات وحدات التخزين. على سبيل المثال، dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data
تدعم SDKs التالية إدارة الملفات في وحدات التخزين:
- Databricks SDK ل Python. استخدم الأساليب المتوفرة في WorkspaceClient.files. للحصول على أمثلة، راجع إدارة الملفات في وحدات تخزين كتالوج Unity.
- Databricks SDK ل Java. استخدم الأساليب المتوفرة في WorkspaceClient.files. للحصول على أمثلة، راجع إدارة الملفات في وحدات تخزين كتالوج Unity.
- Databricks SDK ل Go. استخدم الأساليب المتوفرة في WorkspaceClient.files. للحصول على أمثلة، راجع إدارة الملفات في وحدات تخزين كتالوج Unity.
استخدم واجهة برمجة تطبيقات الملفات لإدارة الملفات في وحدات التخزين.
تستخدم curl
الأمثلة التالية وDatabricks REST API لتنفيذ مهام إدارة الملفات في وحدات التخزين.
ينشئ المثال التالي مجلدا فارغا باسم my-folder
في وحدة التخزين المحددة.
curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
ينشئ المثال التالي ملفا باسم data.csv
مع البيانات المحددة في المسار المحدد في وحدة التخزين.
curl --request PUT "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv?overwrite=true" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--header "Content-Type: application/octet-stream" \
--data-binary $'id,Text\n1,Hello World!'
يسرد المثال التالي محتويات وحدة تخزين في المسار المحدد. يستخدم هذا المثال jq لتنسيق JSON الخاص بجهة الاستجابة لتسهيل القراءة.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
يسرد المثال التالي محتويات مجلد في وحدة تخزين في المسار المحدد. يستخدم هذا المثال jq لتنسيق JSON الخاص بجهة الاستجابة لتسهيل القراءة.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq .
يطبع المثال التالي محتويات ملف في المسار المحدد في وحدة تخزين.
curl --request GET "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
يحذف المثال التالي ملفا في المسار المحدد من وحدة تخزين.
curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/files/Volumes/main/default/my-volume/my-folder/data.csv" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"
يحذف المثال التالي مجلدا من وحدة التخزين المحددة.
curl --request DELETE "https://${DATABRICKS_HOST}/api/2.0/fs/directories/Volumes/main/default/my-volume/my-folder/" \
--header "Authorization: Bearer ${DATABRICKS_TOKEN}"