مشاركة عبر


تكوين حجم دفعة Structured Streaming على Azure Databricks

يساعد الحد من معدل الإدخال لاستعلامات الدفق المنظم على الحفاظ على حجم دفعة متسق ويمنع الدفعات الكبيرة من أن تؤدي إلى تأخيرات معالجة الدفعات الصغيرة المتتالية.

يوفر Azure Databricks نفس الخيارات للتحكم في أحجام دفعات الدفق المنظم لكل من Delta Lake وAuto Loader.

الحد من معدل الإدخال باستخدام maxFilesPerTrigger

يحدد الإعداد maxFilesPerTrigger (أو cloudFiles.maxFilesPerTrigger للتحميل التلقائي) حد أعلى لعدد الملفات التي تتم معالجتها في كل دفعة صغيرة. بالنسبة لكل من Delta Lake وAuto Loader، يكون الافتراضي هو 1000. (لاحظ أن هذا الخيار موجود أيضا في Apache Spark لمصادر الملفات الأخرى، حيث لا يوجد حد أقصى بشكل افتراضي.)

الحد من معدل الإدخال باستخدام maxBytesPerTrigger

يعين الإعداد maxBytesPerTrigger (أو cloudFiles.maxBytesPerTrigger للتحميل التلقائي) "الحد الأقصى الناعم" لكمية البيانات التي تتم معالجتها في كل دفعة صغيرة. وهذا يعني أن الدفعة تعالج هذا القدر تقريبا من البيانات وقد تعالج أكثر من الحد لجعل استعلام الدفق يتحرك إلى الأمام في الحالات التي تكون فيها أصغر وحدة إدخال أكبر من هذا الحد. لا يوجد افتراضي لهذا الإعداد.

على سبيل المثال، إذا قمت بتحديد سلسلة بايت مثل 10g تحديد كل ميكروباتش إلى 10 غيغابايت من البيانات ولديك ملفات تبلغ 3 غيغابايت لكل منها، فإن Azure Databricks تعالج 12 غيغابايت في أداة صغيرة.

تعيين معدلات إدخال متعددة معا

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

الحد من معدلات الإدخال لمصادر الدفق المنظم الأخرى

تحتوي مصادر الدفق مثل Apache Kafka على حدود إدخال مخصصة، مثل maxOffsetsPerTrigger. لمزيد من التفاصيل، راجع تكوين مصادر بيانات الدفق.