On this page
מערך שיעור: Aggregations
משך: 1.5 שעות אקדמיות (68 דקות).
מטרת השיעור: הסטודנטים יבנו Aggregations עם Bucket ו-Metric מקונן, כזיהוי לרעיון החוזר מ-3 טכנולוגיות קודמות.
בסוף השיעור הסטודנטים צריכים: לבנות terms Aggregation, לקנן Metric בתוכו, ולשלב עם query לסינון מקדים.
דגש קריטי: זו הפעם הרביעית שאותו רעיון (GroupBy) מופיע בקורס — הדגישו את זה במפורש כ"רגע איסוף" ולא נושא נפרד.
מהלך השיעור
| חלק בשיעור | משך | הערות ודגשים |
|---|---|---|
| פתיחה וחיבור | 5 דקות | שאלו: “כמה מוצרים בכל קטגוריה — זה match/term/range?” |
| הרעיון: terms Aggregation | 20 דקות | Bucket, size:0 |
| Metric מקונן | 20 דקות | avg בתוך terms |
| query + aggs יחד | 13 דקות | סינון מקדים |
| השוואה ל-3 הטכנולוגיות הקודמות | 5 דקות | LINQ/Mongo/Pandas — טבלת סיכום |
| תרגול מודרך | 5 דקות | תרגיל 1+2 |
דגשים להעברת השיעור
- זהו רגע טבעי לעצור ולבנות עם הכיתה טבלת השוואה של ארבע הטכנולוגיות (LINQ GroupBy, MongoDB $group, Pandas groupby+agg, Elasticsearch terms+metric) — מחזק מאוד את ההבנה שזו אותה בעיה, ארבע שפות.
- “size”:0 הוא פרט טכני קטן שקל לשכוח — הדגישו את הסיבה (לא רק “צריך לכתוב את זה”) כדי שיזכרו.
- Bucket מול Metric שווה הבחנה מפורשת על הלוח — זה מונח שחוזר בתיעוד הרשמי ובראיונות עבודה.
מושגים
Aggregation — חישוב סטטיסטי על תוצאות.
terms — Bucket, קיבוץ לפי ערך.
avg/sum — Metric, חישוב בתוך Bucket.
תרגיל חשיבה
שאלת פתיחה: “עברתם על אותו רעיון (GroupBy) ב-4 טכנולוגיות שונות בקורס הזה. מה השתנה בין כל אחת, ומה נשאר זהה?”
מהלך: בנו יחד טבלה על הלוח: LINQ (GroupBy+Sum/Count), MongoDB ($group), Pandas (groupby+agg), Elasticsearch (terms+Metric). הובילו לתובנה המסכמת של כל הקורס עד כאן: הבעיות העסקיות חוזרות על עצמן בכל טכנולוגיה — מי שמבין את הרעיון (לא רק syntax) לומד טכנולוגיה חדשה הרבה יותר מהר.
מה המרצה מראה בסוף: אם יש זמן, הריצו את אותה שאלה בדיוק (“כמה מוצרים/הזמנות בכל קטגוריה, וממוצע מחיר”) בשתיים מהטכנולוגיות זו לצד זו (למשל Pandas groupby+agg מול Elasticsearch terms+avg) — הראו שהתוצאה הסופית זהה במהות, רק הדרך שונה.