Apache Spark / المتوسط: التوزيع وأدلة التنفيذ / الدرس 10
خطط التنفيذ والإحصاءات والتنفيذ المتكيف
استخدم أدلة منطقية ومادية لتقييم اختيارات المحسّن، دون اعتبار الخطة قياس أداء.
في هذه الصفحة
أهداف الدرس
- ميّز مراحل الخطة وجودة التقديرات.
- اشرح التنفيذ المتكيف وحدوده الدلالية.
يعيد المحسّن كتابة علاقة معلنة
تصف تعبيرات DataFrame وSQL نتائج منطقية، وتترك لـSpark فرص تبسيط الأعمدة ودفع الشروط المؤهلة واختيار العوامل المادية. تحسم الخطة المحللة الأسماء والأنواع، وتطبق المحسنة التحويلات، وتصف المادية استراتيجيات التنفيذ. ترتبط الطبقات لكنها تجيب عن أسئلة مختلفة. ليس العمود غير المحسوم خطأ حجم عنقود، ولا يكون Exchange المكلف استعلاماً خاطئاً بالضرورة. ابدأ بعقد النتيجة وتفصيل المدخل، ثم افحص الطبقة المناسبة للعرض. ولا تثبت الخطة المادية اكتمال صفوف التقرير اليومي.
سمِّ الخطة التي فُحصت بالضبط
يطلب المقطع شرحاً منسقاً وآخر يركز على التكلفة لملخص اصطناعي موجود. يصف explain دليل التخطيط، ولا يثبت زمناً فعلياً أو سكْباً أو حركة شبكة. قد يكشف شرح التكلفة الإحصاءات المستخدمة، لكن التقديرات الغائبة أوالقديمة تحتاج تفسيراً. احفظ المعلمات وإصدار المصدر والتكوين مع الخطط الملتقطة. وقد تختلف خطة مثال محلي صغير عن تشغيل موزع على بيانات ممثلة. لم تُجمع خطة هنا، ولا يعرض النص عوامل متوقعة كأنها نُسخت من وظيفة منفذة.
summary.explain(mode='formatted')
summary.explain(mode='cost')
استدعاءات توضيحية لفحص الخطط فقط؛ لا تقدم قياسات تشغيل ولا تثبت تحسن الأداء.
اقرأ العامل في سياق تدفق البيانات
يشير Exchange إلى حد إعادة توزيع. وقد يظهر HashAggregate قبله وبعده كعمل جزئي ونهائي، ويدعم Sort ترتيباً أو استراتيجية ربط. المخطط أدناه ليس مخرجات Spark الدقيقة عمداً؛ بل يوضح تدفق تجميع محتمل دون وعد باختياره. قارن التقديرات بأعداد وبايتات مرصودة ومصرح بها عند توفرها. وإذا ضاعف الربط القراءات، فإن تحسين العامل يحسب الجواب الخاطئ أسرع فقط. تبقى الصحة أول فحص قبول.
Parquet scan: required columns and eligible filters
Partial aggregation by site_id
Exchange: redistribute site groups
Final aggregation
Optional final ordering
مخطط مساعد للتفكير، لا خطة مادية ملتقطة ولا تأكيد لأسماء العوامل في كل تشغيل.
يتفاعل AQE مع أدلة التشغيل وفق قواعد مدعومة
يستطيع AQE تعديل اختيارات مادية مؤهلة بإحصاءات التشغيل، ومنها دمج أقسام بعد shuffle وتغيير بعض استراتيجيات الربط ومعالجة التفاوت. يعتمد سلوكه الفعلي على الإصدار والتكوين وأهلية الخطة. ولا يتحقق من تكرار المفاتيح أو يصلح منطقة زمنية خاطئة أو يجعل أثراً خارجياً غير آمن ينفذ مرة واحدة. قد تختلف الخطة الأولية عن النهائية المنفذة، فسمِّ التي تستخدمها المراجعة. ولا تعتبر تفعيل AQE دليلاً على الاستغناء عن تصميم الحمل؛ إذ يظل التنظيم وعرض الصف وتركيز المفاتيح قيوداً مهمة.
قيّم تغييراً واحداً تدعمه الأدلة
قارن معلمات وتوزيعات ممثلة عند حد القياس نفسه. سجّل أعداد المصدر وثوابت الطاقة قبل تغيير اختيار أعمدة أو ربط أوتقسيم وبعده. قد تؤثر الإحصاءات والتلميحات في أحمال أخرى؛ فراجع نطاقها ولا تستخدمها طقوساً عامة. وقد يضغط تلميح بث مرجع مواقع متنامٍ المنفذين، رغم فائدته بالأمس. لا تغير الدورة إعداد محسّن ولا تجري قياساً. تعلم تفسير الخطة وفحوص نماذج محلية آمنة فقط، وكل المقاطع غير قابلة للتشغيل.
الأخطاء الشائعة وإصلاحها
تُعرض خطة explain كاختبار سرعة فعلي
- لماذا يحدث؟
- اختلطت مخرجات التخطيط بقياسات التنفيذ.
- كيف تصلحه؟
- سمِّ مصدر الخطة واجمع أدلة تشغيل معتمدة لأي ادعاء زمني.
- كيف تتجنب تكراره؟
- افصل التقديرات والمرصود وتوقيت العميل.
يُفترض أن AQE يصلح مجاميع المواقع المكررة
- لماذا يحدث؟
- اختلط التحسين المادي بالتحقق الدلالي.
- كيف تصلحه؟
- تحقق من المفاتيح والتفصيل قبل الأداء.
- كيف تتجنب تكراره؟
- احفظ بيانات دقيقة صغيرة مع دليل الخطة.
يفشل تلميح بث دائم مع نمو المرجع
- لماذا يحدث؟
- عومل افتراض حجم سابق كضمان سعة دائم.
- كيف تصلحه؟
- راجع البايتات والإحصاءات والذاكرة قبل إبقاء التلميح.
- كيف تتجنب تكراره؟
- أعد تقييم قرارات الحجم بعد نمو المصدر.
اختبر فهمك
1. هل تثبت خطة منسقة أن استعلاماً انتهى في عشر ثوانٍ؟
اعرض الحل المشروح
لا. تصف البنية لا مدة مقاسة. اجمع أدلة وظيفة ومهام مصرحاً بها عند حد معلن مع ظروف المصدر. احفظ ثوابت النتيجة كي لا تقبل استعلاماً أسرع لكنه ناقص.
2. ما الذي تراجعه إذا اختلفت الخطة المتكيفة النهائية عن الأولية؟
اعرض الحل المشروح
حدد إحصاءات التشغيل والتحويل المؤهل المفسر، ثم تحقق من الصحة والكلفة المرصودة. سمِّ الخطتين بدقة. لا تستنتج تغير معنى SQL لمجرد اختلاف استراتيجية الربط أوالتقسيم.
أهم ما تعلمته
- يجيب دليل الخطة عن البنية ضمن نطاق معلن.
- لا يلغي التحسين المتكيف مراجعة المعنى والحمل.