محتويات الدورة

Apache Spark / الأساسي: أسس علاقية ذات أنواع / الدرس 6

التجميعات ومقاييس الاكتمال

لخّص الطاقة بمجتمع ومقام وسياسة قراءات غائبة معلنة صراحة.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • ميّز عدد الصفوف وعدد القيم المعلومة وشروط المجموعات.
  • اشرح العشري الدقيق والأعداد المميزة التقريبية وتكلفة التجميع الموزع.

حدّد المجتمع قبل SUM أوAVG

يختلف المجموع اليومي للقراءات المقبولة عن مجموع كل صفوف المصدر المستلمة، ويختلف متوسط القياسات المعلومة عن تعويض الغائب بصفر. يعد COUNT(*) الصفوف، ويعد COUNT(kwh) القياسات غير NULL، ويتجاهل SUM مدخلات NULL. يعيد مدخل خالٍ بلا تجميع صفرياً للعدد وNULL للجمع. قرر هل يمثل المخرج إنتاجاً صفرياً أو مجهولاً أو غياب مجتمع الإبلاغ. ينبغي لمقياس الاكتمال مقارنة القراءات المرصودة المقبولة بجدول توقعات مبرر، لا افتراض إنتاج كل موقع العدد نفسه كل يوم.

أظهر الغياب بجانب الإجمالي

يحتوي المثال ثلاث قراءات للموقع north، لكن قياسَين معلومين فقط. مجموعهما5 ومتوسطهما2.5. يخفي نشر SUM وحده القراءة الغائبة. يحافظ المدخل العشري على صراحة الحساب المحدود، ويجب تأجيل تنسيق الرقم كنص إلى حدود العرض. يستخدم SQL مفتاح تجميع واحداً وترتيباً نهائياً حتمياً. إنه حساب تعليمي منطقي، لا تشغيل تجميع Spark، ولا يدعي عدداً محدداً لأقسام shuffle أوالمهام.

sql مثال تقني توضيحي؛ النتائج المنطقية مستنتجة ولم تُختبر على المحرك.
WITH readings AS (SELECT * FROM VALUES
 ('north',CAST(2 AS DECIMAL(10,3))),
 ('north',CAST(3 AS DECIMAL(10,3))),
 ('north',CAST(NULL AS DECIMAL(10,3))) AS r(site_id,kwh))
SELECT site_id, COUNT(*) AS received, COUNT(kwh) AS known,
 SUM(kwh) AS total_kwh, AVG(kwh) AS mean_known_kwh
FROM readings GROUP BY site_id ORDER BY site_id;
الناتج المتوقع
site_id | received | known | total_kwh | mean_known_kwh
north   | 3        | 2     | 5         | 2.5

الأعداد المنطقية received=3 وknown=2، والمجموع total_kwh=5 والمتوسط mean_known_kwh=2.5. قد يختلف مقياس العرض.

صفِّ الصفوف والمجموعات في مرحلتين

يحدد WHERE صفوف المصدر المؤهلة قبل التجميع، ويصفي HAVING مجموعات التجميع بعده. لاختيار مواقع تتجاوز طاقتها المقبولة حداً، قيّد القراءات المقبولة وفترة الحدث أولاً، ثم طبّق حد المجموع بعد التجميع. تصفية القراءات الفردية التي تتجاوز الحد سؤال مختلف. يستطيع التجميع الشرطي عد القراءات المعيبة أوالمتأخرة مع حفظ المقام، لكن يجب أن تكون الفئات متنافية أو موثقة التداخل. احتفظ بتصنيف نتيجة لكل صف مصدر عند مطابقة الأعداد. ولا تحل أعداد المواقع المميزة محل فحوص اكتمال القراءات.

sql مثال تقني توضيحي؛ النتائج المنطقية مستنتجة ولم تُختبر على المحرك.
SELECT site_id, SUM(kwh) AS total_kwh
FROM curated_readings
WHERE quality = 'accepted'
GROUP BY site_id
HAVING SUM(kwh) > 100
ORDER BY site_id;

يفترض المثال علاقة منقحة أُعدّت صراحة. تظل القراءات دون100 مساهمة، لأن الحد يطبق على إجمالي كل موقع.

قد يحرك التجميع البيانات ويحفظ حالة المفاتيح

يمكن لـSpark إجراء تجميع جزئي قبل تبادل نتائج المجموعات، لكن الخطة المادية تعتمد على التعبير وقرارات المحرك. يحتفظ التجميع ذو المفاتيح الكثيرة بمفاتيح كثيرة، وقد يضغط الذاكرة أويسكب إلى القرص. وقد لا يقلل groupBy على معرّف قراءة فريد البيانات كثيراً. تختلف دقة countDistinct الدقيقة عن الطرق التقريبية؛ ويجب تسمية التقريب وتقييمه مقابل السماحية. لا تستخدم أعداداً احتمالية دليلاً على عدم وجود قراءات مكررة أوغائبة. تحتاج هذه الثوابت إلى تحقق هوية صريح ومطابقة كاملة للمصدر.

لإعادة الحساب الرقمي حد تمثيل

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

الأخطاء الشائعة وإصلاحها

يخفي إجمالي الطاقة يوم إبلاغ ناقصاً

لماذا يحدث؟
تُجاهلت القياسات NULL بلا مقياس اكتمال مستقل.
كيف تصلحه؟
انشر العدد المعلوم والمتوقع مع سياسة المجال لحالة النقص.
كيف تتجنب تكراره؟
اختبر موقعاً كل قراءاته غائبة.

يحذف حد المجموعة قراءات صغيرة صالحة

لماذا يحدث؟
استُخدم WHERE لشرط كان مقصوداً لـHAVING.
كيف تصلحه؟
طبّق أهلية الصف أولاً ثم أهلية التجميع.
كيف تتجنب تكراره؟
راجع كل شرط مقابل مستوى التفصيل المقصود.

تُستخدم الأعداد المميزة التقريبية لإثبات التفرّد

لماذا يحدث؟
عوملت أداة تقدير كفحص لثابت يجب ضمانه.
كيف تصلحه؟
استخدم تحقق مفاتيح دقيقاً ومطابقة مصدر لمتطلبات التفرّد.
كيف تتجنب تكراره؟
سمِّ المقاييس التقريبية وعقد خطئها المقبول.

اختبر فهمك

1. ما متوسط2 و3 وNULL وفق دلالات AVG المعتادة؟

اعرض الحل المشروح

هو2.5 على قيمتين معلومتين، لا5/3. انشر مقام القيم المعلومة وعدد الغائب عندما يهم الاكتمال. يغير التعويض بصفر السؤال، ويحتاج قاعدة مجال موثقة مستقلة.

2. لماذا قد يختلف مجموعان عائمان قليلاً بعد إعادة التقسيم؟

اعرض الحل المشروح

قد يتغير ترتيب الجمع، وجمع العائم غير تجميعي. حدد السماحية المطلوبة، أو استخدم عشرياً محدوداً حيث يناسب. لا تقارن سلاسل منسقة بديلاً عن سياسة قبول رقمية، ولا تهمل تحقق الهوية المكررة واكتمال المصدر.

أهم ما تعلمته

  • يحمل الإجمالي المفيد معه دليل المجتمع والاكتمال.
  • التكلفة الموزعة والدقة الرقمية قرارا تصميم مستقلان.

المراجع الرسمية