اقرأ باللغة الإنجليزية

مشاركة عبر


إدارة الملفات في وحدات التخزين

توفر هذه المقالة أمثلة لإدارة الملفات في وحدات تخزين كتالوج Unity لمختلف واجهات المستخدم والأدوات والمكتبات واللغات.

توصي Databricks باستخدام وحدات التخزين لإدارة جميع الوصول إلى البيانات غير الجدولية في تخزين الكائنات السحابية. تتضمن أمثلة البيانات غير الجدولية ما يلي:

  • ملفات البيانات لاستيعاب مثل CSV وJSON وParquet.
  • الملفات النصية والصور والصوتية لعلوم البيانات وML وأحمال العمل الذكاء الاصطناعي.
  • عناصر CSV أو JSON المكتوبة بواسطة Azure Databricks للتكامل مع الأنظمة الخارجية.

يمكنك استخدام وحدات التخزين لتخزين الملفات مثل المكتبات والبرامج النصية للتصنيف وإنشاء البيانات الاصطناعية. راجع توصيات الملفات في وحدات التخزين وملفات مساحة العمل.

استخدام الملفات في وحدات التخزين باستخدام واجهة مستخدم مستكشف الكتالوج

يوفر مستكشف الكتالوج خيارات لمهام إدارة الملفات الشائعة للملفات المخزنة مع وحدات تخزين كتالوج Unity.

للتفاعل مع الملفات في وحدة تخزين، قم بما يلي:

  1. في مساحة عمل Azure Databricks، انقر فوق أيقونة الكتالوج كتالوج.
  2. ابحث عن وحدة التخزين التي تريد العمل عليها أو استعرض بحثا عنها وحددها.

للحصول على تفاصيل حول إنشاء وحدات التخزين وإدارتها، راجع إنشاء وحدات التخزين وإدارتها.

تحميل الملفات إلى وحدة تخزين

يفتح الزر تحميل إلى وحدة التخزين هذه مربع حوار لتحميل الملفات. راجع تحميل الملفات إلى وحدة تخزين كتالوج Unity.

لا يمكن أن تتجاوز الملفات التي تم تحميلها 5 غيغابايت.

تنزيل الملفات من وحدة تخزين

لتنزيل الملفات من وحدة تخزين، قم بما يلي:

  1. حدد ملفا واحدا أو أكثر.
  2. انقر فوق تنزيل لتنزيل هذه الملفات.

حذف الملفات من وحدة تخزين

لحذف الملفات من وحدة تخزين، قم بما يلي:

  1. حدد ملفا واحدا أو أكثر.
  2. انقر على حذف.
  3. انقر فوق حذف للتأكيد في مربع الحوار الذي يظهر.

إنشاء دليل فارغ

لإنشاء دليل جديد في وحدة تخزين، قم بما يلي:

  1. انقر فوق قائمة كباب إلى يمين اسم وحدة التخزين.
  2. حدد Create directory.
  3. أدخل اسم دليل.
  4. انقر فوق Create.

حذف الدلائل من وحدة تخزين

لحذف الدلائل من وحدة تخزين، قم بما يلي:

  1. حدد دليلا واحدا أو أكثر.
  2. انقر على حذف.
  3. انقر فوق حذف للتأكيد في مربع الحوار الذي يظهر.

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

انقر فوق قائمة قائمة كباب kebab بجوار اسم ملف لتنفيذ الإجراءات التالية:

  • مسار النسخ
  • تنزيل الملف
  • حذف الملف
  • إنشاء جدول

إنشاء جدول من البيانات في وحدة تخزين

يوفر Azure Databricks واجهة مستخدم لإنشاء جدول مدار لكتالوج Unity من ملف أو ملفات أو دليل الملفات المخزنة في وحدة تخزين كتالوج Unity.

يجب أن يكون لديك CREATE TABLE أذونات في المخطط الهدف وأن يكون لديك حق الوصول إلى مستودع SQL قيد التشغيل.

  1. حدد ملفا واحدا أو أكثر أو دليلا. يجب أن يكون للملفات نفس تخطيط البيانات.

  2. انقر فوق إنشاء جدول. يظهر مربع الحوار إنشاء جدول من وحدات التخزين.

  3. استخدم مربع الحوار المتوفر لمراجعة معاينة البيانات وإكمال التكوينات التالية:

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

    ملاحظة

    انقر فوق سمات متقدمة لعرض خيارات إضافية.

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

العمل برمجيا مع الملفات في وحدات التخزين على Azure Databricks

يمكنك قراءة الملفات وكتابتها في وحدات تخزين من جميع اللغات المدعومة ومحررات مساحة العمل باستخدام التنسيق التالي:

/Volumes/catalog_name/schema_name/volume_name/path/to/files

يمكنك التفاعل مع الملفات في وحدات التخزين بنفس الطريقة التي تتفاعل بها مع الملفات في أي موقع تخزين للكائنات السحابية. وهذا يعني أنه إذا كنت تدير حاليا التعليمات البرمجية التي تستخدم معرفات URI السحابية أو مسارات تحميل DBFS أو مسارات جذر DBFS للتفاعل مع البيانات أو الملفات، يمكنك تحديث التعليمات البرمجية لاستخدام وحدات التخزين بدلا من ذلك.

ملاحظة

يتم استخدام وحدات التخزين فقط للبيانات غير الجدولية. توصي Databricks بتسجيل البيانات الجدولية باستخدام جداول كتالوج Unity ثم قراءة البيانات وكتابتها باستخدام أسماء الجداول.

قراءة البيانات وكتابتها في وحدات التخزين

يمكنك استخدام Apache Spark وpandas وSpark SQL ومكتبات OSS الأخرى لقراءة ملفات البيانات وكتابتها في وحدات التخزين.

توضح الأمثلة التالية قراءة ملف CSV المخزن في وحدة تخزين:

Python

df = spark.read.format("csv").load("/Volumes/catalog_name/schema_name/volume_name/data.csv")

display(df)

Pandas

import pandas as pd

df = pd.read_csv('/Volumes/catalog_name/schema_name/volume_name/data.csv')

display(df)

SQL

SELECT * FROM csv.`/Volumes/catalog_name/schema_name/volume_name/data.csv`

أوامر الأداة المساعدة للملفات في وحدات التخزين

يوفر Databricks الأدوات التالية لإدارة الملفات في وحدات التخزين:

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

يمكنك أيضا استخدام حزم OSS لأوامر الأداة المساعدة للملف، مثل وحدة Python os ، كما هو موضح في المثال التالي:

import os

os.mkdir('/Volumes/catalog_name/schema_name/volume_name/directory_name')

إدارة الملفات في وحدات التخزين من الأدوات الخارجية

يوفر Databricks مجموعة من الأدوات لإدارة الملفات برمجيا في وحدات التخزين من بيئتك المحلية أو الأنظمة المتكاملة.

أوامر SQL للملفات في وحدات التخزين

يدعم Azure Databricks الكلمات الأساسية SQL التالية للتفاعل مع الملفات في وحدات التخزين:

ملاحظة

تدعم LIST دفاتر ملاحظات Databricks أو محرر الاستعلام الأمر فقط.

تدعم موصلات Databricks SQL وبرامج التشغيل التالية إدارة الملفات في وحدات التخزين:

إدارة الملفات في وحدات التخزين باستخدام Databricks CLI

استخدم الأوامر الفرعية في databricks fs. راجع مجموعة أوامر fs.

ملاحظة

يتطلب Databricks CLI أن يسبق المخطط dbfs:/ كافة مسارات وحدات التخزين. على سبيل المثال، dbfs:/Volumes/catalog_name/schema_name/volume_name/path/to/data

إدارة الملفات في وحدات التخزين باستخدام SDKs

تدعم SDKs التالية إدارة الملفات في وحدات التخزين:

إدارة الملفات في وحدات التخزين باستخدام واجهة برمجة تطبيقات REST

استخدم واجهة برمجة تطبيقات الملفات لإدارة الملفات في وحدات التخزين.

أمثلة واجهة برمجة تطبيقات REST للملفات في وحدات التخزين

تستخدم 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}"