أين يكتب Azure Databricks البيانات؟
توضح هذه المقالة بالتفصيل المواقع التي يكتب فيها Azure Databricks البيانات باستخدام العمليات والتكوينات اليومية. نظرا لأن Azure Databricks يحتوي على مجموعة من الأدوات التي تمتد عبر العديد من التقنيات وتتفاعل مع موارد السحابة في نموذج المسؤولية المشتركة، تختلف المواقع الافتراضية المستخدمة لتخزين البيانات استنادا إلى بيئة التنفيذ والتكوينات والمكتبات.
تهدف المعلومات الواردة في هذه المقالة إلى مساعدتك على فهم المسارات الافتراضية لعمليات مختلفة وكيفية تغيير التكوينات لهذه الإعدادات الافتراضية. يجب أن يرى المشرفون على البيانات والمسؤولون الذين يبحثون عن إرشادات حول تكوين الوصول إلى البيانات والتحكم فيها إدارة البيانات باستخدام كتالوج Unity.
للتعرف على تكوين تخزين الكائنات ومصادر البيانات الأخرى، راجع الاتصال بمصادر البيانات.
ما هو تخزين الكائنات؟
في حوسبة السحابة، يشير تخزين الكائنات أو تخزين الكائن الثنائي كبير الحجم إلى حاويات التخزين التي تحتفظ بالبيانات ككائنات، مع كل كائن يتكون من البيانات وبيانات التعريف ومعرف مورد فريد عالميا (URI). غالبا ما تقتصر عمليات معالجة بيانات تخزين الكائنات على إنشاء (CRUD) وقراءته وتحديثه وحذفه من خلال واجهة REST API. تتضمن بعض عروض تخزين الكائنات ميزات مثل تعيين الإصدار وإدارة دورة الحياة. يحتوي تخزين الكائنات على المزايا التالية:
- قابلية الوصول العالية والمتانة والموثوقية.
- انخفاض تكاليف التخزين مقارنة بمعظم خيارات التخزين الأخرى.
- قابل للتطوير بشكل لا نهائي (محدود بمجموع سعة التخزين المتوفرة في منطقة سحابية معينة).
معظم مستودعات البيانات المستندة إلى السحابة مبنية على تنسيقات البيانات مصدر مفتوح في تخزين الكائنات السحابية.
كيف يستخدم Azure Databricks تخزين الكائنات؟
تخزين الكائنات هو الشكل الرئيسي للتخزين المستخدم من قبل Azure Databricks لمعظم العمليات. يمكنك تكوين الوصول إلى تخزين كائن السحابة باستخدام بيانات اعتماد تخزين كتالوج Unity والمواقع الخارجية. ثم يتم استخدام هذه المواقع لتخزين ملفات البيانات التي تدعم الجداول ووحدات التخزين. راجع الاتصال بمساحة تخزين الكائنات السحابية والخدمات باستخدام كتالوج Unity.
ما لم تقم بتكوين جدول على وجه التحديد مقابل نظام بيانات خارجي، فإن جميع الجداول التي تم إنشاؤها في Azure Databricks تخزن البيانات في تخزين كائن السحابة.
توفر ملفات Delta Lake المخزنة في تخزين كائن السحابة أساس البيانات ل Databricks lakehouse.
ما هو تخزين الكتلة؟
في حوسبة السحابة، يشير تخزين الكتلة أو تخزين القرص إلى وحدات تخزين تتوافق مع محركات الأقراص الثابتة التقليدية (HDD) أو محركات الأقراص ذات الحالة الصلبة (SSDs)، والمعروفة أيضا باسم "محركات الأقراص الثابتة". عند نشر تخزين الكتلة في بيئة حوسبة سحابية، يتم عادة نشر قسم منطقي لمحرك أقراص فعلي واحد أو أكثر. تختلف عمليات التنفيذ قليلا بين عروض المنتجات وبائعي السحابة، ولكن عادة ما يتم العثور على الخصائص التالية عبر عمليات التنفيذ:
- تتطلب جميع الأجهزة الظاهرية (VMs) وحدة تخزين كتلة مرفقة.
- تستمر الملفات والبرامج المثبتة على وحدة تخزين الكتلة طالما استمرت وحدة تخزين الكتلة.
- غالبا ما تستخدم وحدات تخزين الكتلة لتخزين البيانات المؤقت.
- عادة ما يتم حذف وحدات تخزين الكتلة المرفقة بالأجهزة الظاهرية جنبا إلى جنب مع الأجهزة الظاهرية.
كيف يستخدم Azure Databricks تخزين الكتلة؟
عند تشغيل موارد الحوسبة، يقوم Azure Databricks بتكوين الأجهزة الظاهرية ونشرها وإرفاق وحدات تخزين الكتلة. يتم استخدام تخزين الكتلة هذا لتخزين ملفات البيانات سريعة الزوال لمدة بقاء مورد الحساب. تتضمن هذه الملفات نظام التشغيل والمكتبات المثبتة والبيانات المستخدمة بواسطة ذاكرة التخزين المؤقت للقرص. بينما يستخدم Apache Spark تخزين الكتلة في الخلفية للتوازي الفعال وتحميل البيانات، لا تقوم معظم التعليمات البرمجية التي تعمل على Azure Databricks بحفظ البيانات أو تحميلها مباشرة لحظر التخزين.
يمكنك تشغيل التعليمات البرمجية العشوائية، مثل أوامر Python أو Bash التي تستخدم تخزين الكتلة المرفق بعقدة برنامج التشغيل. راجع العمل مع الملفات في التخزين المؤقت المرفق بعقدة برنامج التشغيل.
أين يخزن كتالوج Unity ملفات البيانات؟
يعتمد كتالوج Unity على المسؤولين لتكوين العلاقات بين التخزين السحابي والعناصر الارتباطية. يعتمد الموقع الدقيق حيث توجد البيانات على كيفية تكوين المسؤولين للعلاقات.
يتم تخزين البيانات المكتوبة أو التي يتم تحميلها إلى الكائنات التي يحكمها كتالوج Unity في أحد المواقع التالية:
- موقع تخزين مدار مقترن بمخزن بيانات التعريف أو الكتالوج أو المخطط. تستخدم البيانات المكتوبة أو التي يتم تحميلها إلى الجداول المدارة ووحدات التخزين المدارة التخزين المدار. راجع تحديد موقع تخزين مدار في كتالوج Unity.
- موقع خارجي تم تكوينه باستخدام بيانات اعتماد التخزين. تستخدم البيانات المكتوبة أو التي يتم تحميلها إلى الجداول الخارجية ووحدات التخزين الخارجية التخزين الخارجي. راجع الاتصال بمساحة تخزين الكائنات السحابية والخدمات باستخدام كتالوج Unity.
أين تخزن Databricks SQL جداول دعم البيانات؟
عند تشغيل عبارة CREATE TABLE
باستخدام Databricks SQL تم تكوينها باستخدام كتالوج Unity، فإن السلوك الافتراضي هو تخزين ملفات البيانات في موقع تخزين مدار تم تكوينه باستخدام كتالوج Unity. راجع أين يخزن كتالوج Unity ملفات البيانات؟.
يتبع الكتالوج القديم hive_metastore
قواعد مختلفة. راجع العمل مع كتالوج Unity ومخزن Hive metastore القديم.
أين تخزن Delta Live Tables ملفات البيانات؟
توصي Databricks باستخدام كتالوج Unity عند إنشاء مسارات DLT. يتم تخزين البيانات في دلائل في موقع التخزين المدار المرتبط بالمخطط الهدف.
يمكنك تكوين مسارات DLT اختياريا باستخدام Hive metastore. عند تكوينه باستخدام Hive metastore، يمكنك تحديد موقع تخزين على DBFS أو تخزين كائن السحابة. إذا لم تحدد موقعا، يتم تعيين موقع على جذر DBFS إلى البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك.
أين يكتب Apache Spark ملفات البيانات؟
توصي Databricks باستخدام أسماء الكائنات مع كتالوج Unity لقراءة البيانات وكتابتها. يمكنك أيضا كتابة الملفات إلى وحدات تخزين كتالوج Unity باستخدام النمط التالي: /Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
. يجب أن يكون لديك امتيازات كافية لتحميل البيانات أو إنشاؤها أو تحديثها أو إدراجها إلى الكائنات التي تحكمها كتالوج Unity.
يمكنك اختياريا استخدام مؤشرات الموارد العالمية (URIs) لتحديد مسارات لملفات البيانات. تختلف معرفات URI اعتمادا على موفر السحابة. يجب أن يكون لديك أيضا أذونات كتابة تم تكوينها لمورد الحوسبة الحالي للكتابة إلى تخزين كائن السحابة.
يستخدم Azure Databricks نظام ملفات Databricks لتعيين أوامر قراءة وكتابة Apache Spark مرة أخرى إلى تخزين كائن السحابة. تحتوي كل مساحة عمل Azure Databricks على موقع تخزين جذر DBFS تم تكوينه في حساب السحابة المخصص لمساحة العمل، والتي يمكن لجميع المستخدمين الوصول إليها لقراءة البيانات وكتابتها. لا توصي Databricks باستخدام جذر DBFS لتخزين أي بيانات إنتاج. راجع ما هو DBFS؟ وتوصيات للعمل مع جذر DBFS.
أين تكتب Pandas ملفات البيانات على Azure Databricks؟
في Databricks Runtime 14.0 وما فوق، دليل العمل الحالي الافتراضي (CWD) لجميع عمليات القراءة والكتابة في Python المحلية هو الدليل الذي يحتوي على دفتر الملاحظات. إذا قمت بتوفير اسم ملف فقط عند حفظ ملف بيانات، فإن pandas تحفظ ملف البيانات هذا كملف مساحة عمل بالتوازي مع دفتر الملاحظات قيد التشغيل حاليا.
لا تدعم جميع إصدارات Databricks Runtime ملفات مساحة العمل، وبعض إصدارات وقت تشغيل Databricks لها سلوك مختلف اعتمادا على ما إذا كنت تستخدم دفاتر الملاحظات أو مجلدات Git. راجع ما هو دليل العمل الحالي الافتراضي؟.
أين يجب أن أكتب ملفات مؤقتة على Azure Databricks؟
إذا كان يجب عليك كتابة الملفات المؤقتة التي لا تريد الاحتفاظ بها بعد إيقاف تشغيل نظام المجموعة، فإن كتابة الملفات المؤقتة لتحقيق $TEMPDIR
أداء أفضل من الكتابة إلى دليل العمل الحالي (CWD) إذا كان CWD في نظام ملفات مساحة العمل. يمكنك أيضا تجنب تجاوز حدود حجم الفرع إذا تم تشغيل التعليمات البرمجية في Repo. لمزيد من المعلومات، راجع حدود الملفات وحدود المستودع.
اكتب إلى /local_disk0
إذا كانت كمية البيانات المطلوب كتابتها كبيرة وتريد أن يتم تحجيم التخزين تلقائيا.