ما هو وضع سرد دليل التحميل التلقائي؟

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

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

كيف يعمل وضع سرد الدليل؟

قامت Azure Databricks بتحسين وضع سرد الدليل للتحميل التلقائي لاكتشاف الملفات في التخزين السحابي بكفاءة أكبر من خيارات Apache Spark الأخرى.

على سبيل المثال، إذا كان لديك ملفات يتم تحميلها كل 5 دقائق ك /some/path/YYYY/MM/DD/HH/fileName، للعثور على جميع الملفات في هذه الدلائل، يسرد مصدر ملفات Apache Spark جميع الدلائل الفرعية بالتوازي. تقدر الخوارزمية التالية العدد الإجمالي لاستدعاءات دليل API LIST إلى تخزين الكائن:

1 (دليل أساسي) + 365 (يوميا) * 24 (في الساعة) = 8761 استدعاء

من خلال تلقي استجابة مسطحة من التخزين، يقلل Auto Loader عدد استدعاءات واجهة برمجة التطبيقات إلى عدد الملفات في التخزين مقسوما على عدد النتائج التي يتم إرجاعها بواسطة كل استدعاء لواجهة برمجة التطبيقات، ما يقلل إلى حد كبير من تكاليف السحابة. يعرض الجدول التالي عدد الملفات التي تم إرجاعها بواسطة كل استدعاء API لتخزين الكائن الشائع:

النتائج التي تم إرجاعها لكل مكالمة تخزين عنصر
1000 S3
5000 ADLS Gen2
1024 GCS

قائمة تزايدية (مهملة)

هام

تم إهمال هذه الميزة. توصي Databricks باستخدام وضع إعلام الملف بدلا من الإدراج التزايدي.

إشعار

متوفر في Databricks Runtime 9.1 LTS وما فوق.

تتوفر قائمة تزايدية ل Azure Data Lake Storage Gen2 (abfss://) وS3 (s3://) وGCS (gs://).

بالنسبة للملفات التي تم إنشاؤها معجميا، يستفيد Auto Loader من ترتيب الملفات المعجمية وتحسين سرد واجهات برمجة التطبيقات لتحسين كفاءة إدراج الدليل عن طريق الإدراج من الملفات التي تم استيعابها مؤخرا بدلا من سرد محتويات الدليل بأكمله.

بشكل افتراضي، يكتشف "التحميل التلقائي" تلقائيا ما إذا كان دليل معين قابلا للتطبيق على القائمة التزايدية عن طريق التحقق من مسارات الملفات لقوائم الدليل المكتملة مسبقا ومقارنتها. لضمان اكتمال البيانات في نهاية المطاف في auto الوضع، يقوم "التحميل التلقائي" تلقائيا بتشغيل قائمة دليل كاملة بعد إكمال 7 قوائم تزايدية متتالية. يمكنك التحكم في تكرار قوائم الدليل الكامل عن طريق تعيين cloudFiles.backfillInterval لتشغيل الملفات الخلفية غير المتزامنة في فاصل زمني معين.

الترتيب المعجمي للملفات

لكي يتم ترتيب الملفات معجميا، تحتاج الملفات الجديدة التي يتم تحميلها إلى بادئة أكبر معجميا من الملفات الموجودة. فيما يلي بعض الأمثلة على الدلائل المعجمية المرتبة.

الملفات التي تم إصدارها

يقوم Delta Lake بإجراء عمليات تثبيت لسجلات معاملات الجدول بترتيب معجمي.

<path-to-table>/_delta_log/00000000000000000000.json
<path-to-table>/_delta_log/00000000000000000001.json <- guaranteed to be written after version 0
<path-to-table>/_delta_log/00000000000000000002.json <- guaranteed to be written after version 1
...

تقوم AWS DMS بتحميل ملفات CDC إلى AWS S3 بطريقة تم إصدارها.

database_schema_name/table_name/LOAD00000001.csv
database_schema_name/table_name/LOAD00000002.csv
...

تاريخ الملفات المقسمة

يمكن تحميل الملفات بتنسيق تاريخ مقسم. إليكم بعض الأمثلة على ذلك:

// <base-path>/yyyy/MM/dd/HH:mm:ss-randomString
<base-path>/2021/12/01/10:11:23-b1662ecd-e05e-4bb7-a125-ad81f6e859b4.json
<base-path>/2021/12/01/10:11:23-b9794cf3-3f60-4b8d-ae11-8ea320fad9d1.json
...

// <base-path>/year=yyyy/month=MM/day=dd/hour=HH/minute=mm/randomString
<base-path>/year=2021/month=12/day=04/hour=08/minute=22/442463e5-f6fe-458a-8f69-a06aa970fc69.csv
<base-path>/year=2021/month=12/day=04/hour=08/minute=22/8f00988b-46be-4112-808d-6a35aead0d44.csv <- this may be uploaded before the file above as long as processing happens less frequently than a minute

عند تحميل الملفات مع تقسيم التاريخ، بعض الأشياء التي يجب مراعاتها هي:

  • يجب ترك الأشهر والأيام والساعات والدقائق مبطنة بالأصفار لضمان الترتيب المعجمي (يجب تحميله ك hour=03، بدلا من hour=3 أو 2021/05/03 بدلا من 2021/5/3).
  • لا يلزم بالضرورة تحميل الملفات بترتيب معجمي في أعمق دليل طالما أن المعالجة تحدث بشكل أقل تكرارا من نقاوة وقت الدليل الأصل.

بعض الخدمات التي يمكنها تحميل الملفات في ترتيب معجمي مقسم للتاريخ هي:

تغيير مسار المصدر للمحمل التلقائي

في Databricks Runtime 11.3 LTS وما فوق، يمكنك تغيير مسار إدخال الدليل للتحميل التلقائي الذي تم تكوينه باستخدام وضع سرد الدليل دون الحاجة إلى اختيار دليل نقطة تحقق جديد.

التحذير

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

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