الأسئلة المتداولة حول أداة التحميل التلقائي

الأسئلة الشائعة حول Databricks Auto Loader.

هل يقوم "المحمل التلقائي" بمعالجة الملف مرة أخرى عند إلحاق الملف أو الكتابة فوقه؟

تتم معالجة الملفات مرة واحدة فقط ما لم cloudFiles.allowOverwrites يتم تمكينها. عند إلحاق ملف أو الكتابة فوقه، لا يمكن ل Azure Databricks ضمان إصدار الملف الذي ستتم معالجته. يجب عليك أيضا توخي الحذر عند التمكين cloudFiles.allowOverwrites في وضع إعلام الملف، حيث قد يحدد "المحمل التلقائي" الملفات الجديدة من خلال كل من إعلامات الملفات وإدراج الدليل. نظرا للتناقض بين وقت حدث إعلام الملف ووقت تعديل الملف، قد يحصل "التحميل التلقائي" على طابعين زمنيين مختلفين وبالتالي استيعاب نفس الملف مرتين، حتى عندما تتم كتابة الملف مرة واحدة فقط.

بشكل عام، توصي Databricks باستخدام أداة التحميل التلقائي لاستيعاب الملفات غير القابلة للتغيير فقط وتجنب إعداد cloudFiles.allowOverwrites. إذا لم يستوف هذا متطلباتك، فاتصل بفريق حساب Azure Databricks.

إذا لم تصل ملفات البيانات الخاصة بي بشكل مستمر، ولكن على فترات منتظمة، على سبيل المثال، مرة واحدة في اليوم، هل لا يزال يتعين علي استخدام هذا المصدر وهل هناك أي فوائد؟

في هذه الحالة، يمكنك إعداد Trigger.AvailableNow مهمة (متوفرة في Databricks Runtime 10.4 LTS وما فوق) Structured Streaming وجدولة للتشغيل بعد وقت وصول الملف المتوقع. يعمل التحميل التلقائي بشكل جيد مع كل من التحديثات غير المتكررة أو المتكررة. حتى إذا كانت التحديثات النهائية كبيرة جدا، فإن أداة التحميل التلقائي تتدرج بشكل جيد إلى حجم الإدخال. تجعل تقنيات اكتشاف الملفات الفعالة ل Auto Loader وقدرات تطور المخطط برنامج التحميل التلقائي الطريقة الموصى بها لاستيعاب البيانات المتزايدة.

ماذا يحدث إذا قمت بتغيير موقع نقطة التحقق عند إعادة تشغيل الدفق؟

يحتفظ موقع نقطة التحقق بمعلومات تعريف مهمة للتدفق. يعني تغيير موقع نقطة التحقق بشكل فعال أنك تركت الدفق السابق وبدأت دفقا جديدا.

هل أحتاج إلى إنشاء خدمات إعلام الحدث مسبقا؟

‏‏لا. إذا اخترت وضع إعلام الملف وقمت بتوفير الأذونات المطلوبة، يمكن للتحميل التلقائي إنشاء خدمات إعلام الملفات لك. راجع ما هو وضع إعلام ملف التحميل التلقائي؟

كيف أعمل تنظيف موارد إعلام الحدث التي تم إنشاؤها بواسطة Auto Loader؟

يمكنك استخدام مدير موارد السحابة لسرد الموارد وتقطيعها. يمكنك أيضا حذف هذه الموارد يدويا باستخدام واجهة مستخدم موفر السحابة أو واجهات برمجة التطبيقات.

هل يمكنني تشغيل استعلامات دفق متعددة من أدلة إدخال مختلفة على نفس المستودع/الحاوية؟

نعم، طالما أنها ليست دلائل أصل-تابع؛ على سبيل المثال، prod-logs/prod-logs/usage/ ولن يعمل لأن /usage هو دليل تابع ل /prod-logs.

هل يمكنني استخدام هذه الميزة عندما تكون هناك إعلامات ملفات موجودة على المستودع أو الحاوية الخاصة بي؟

نعم، طالما أن دليل الإدخال الخاص بك لا يتعارض مع بادئة الإعلام الموجودة (على سبيل المثال، الدلائل الأصل-التابع أعلاه).

كيف يستنتج "المحمل التلقائي" مخططا؟

عند تعريف DataFrame لأول مرة، يسرد "التحميل التلقائي" دليل المصدر الخاص بك ويختار أحدث (حسب وقت تعديل الملف) 50 غيغابايت من البيانات أو 1000 ملف، ويستخدم تلك للاستدلال على مخطط البيانات.

يستنتج Loader التلقائي أيضا أعمدة القسم عن طريق فحص بنية الدليل المصدر ويبحث عن مسارات الملفات التي تحتوي على /key=value/ البنية. إذا كان الدليل المصدر يحتوي على بنية غير متناسقة، على سبيل المثال:

base/path/partition=1/date=2020-12-31/file1.json
// inconsistent because date and partition directories are in different orders
base/path/date=2020-12-31/partition=2/file2.json
// inconsistent because the date directory is missing
base/path/partition=3/file3.json

يستنتج المحمل التلقائي أعمدة القسم على أنها فارغة. يستخدم cloudFiles.partitionColumns لتحليل الأعمدة بشكل صريح من بنية الدليل.

كيف يتصرف "المحمل التلقائي" عندما يكون المجلد المصدر فارغا؟

إذا كان الدليل المصدر فارغا، يتطلب منك "المحمل التلقائي" توفير مخطط حيث لا توجد بيانات لإجراء الاستدلال.

متى يستنتج التحميل التلقائي مخططا؟ هل يتطور تلقائيا بعد كل دفعة صغيرة؟

يتم استنتاج المخطط عند تعريف DataFrame لأول مرة في التعليمات البرمجية الخاصة بك. أثناء كل دفعة صغيرة، يتم تقييم تغييرات المخطط بسرعة؛ لذلك، لا داعي للقلق بشأن نجاحات الأداء. عند إعادة تشغيل الدفق، فإنه يلتقط المخطط المتطور من موقع المخطط ويبدأ التنفيذ دون أي حمل من الاستدلال.

ما تأثير الأداء على استيعاب البيانات عند استخدام استنتاج مخطط التحميل التلقائي؟

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

بسبب خطأ، قام ملف غير جيد بتغيير مخططي بشكل كبير. ماذا يجب أن أفعل للعودة إلى الحالة السابقة لتغيير المخطط؟

اتصل بدعم Databricks للحصول على المساعدة.