מעקב אחרי משימות

בכלי לניהול משימות ב-BigQuery במסוף Google Cloud , אתם יכולים לעקוב אחרי משימות בארגון, לסנן אותן ולפתור בהן בעיות בלי לכתוב שאילתות INFORMATION_SCHEMA באופן ידני. אתם יכולים לעקוב אחרי מגמות הביצוע, להשוות בין ביצועי המשימות ולבדוק מדדי שאילתות כמו שימוש ב-slots, משך זמן ותרשימי ביצוע כדי לפתור צווארי בקבוק.

במאמר מעקב אחרי תקינות וניצול משאבים מוסבר איך לעקוב אחרי הקיבולת, ההתחייבויות ל-slots והניצול של הזמנות לטווח ארוך בארגון.

יכולות

בעזרת הכלי לחקירת משימות, אתם יכולים:

  • סינון וזיהוי של משימות: חיפוש שאילתות ספציפיות בארגון על ידי החלת מסננים לפי קריטריונים כמו סטטוס המשימה, משך הזמן, הבעלים או השימוש בחריצים.
  • ניתוח מדדי ציר הזמן: מעקב אחרי מגמות של ביצוע משימות ובו-זמניות לאורך זמן באמצעות תרשים המדדים.
  • צבירת משימות לפי משאב: קיבוץ משימות לפי בעלים, פרויקט או הזמנה כדי להציג נתונים סטטיסטיים מסכמים ולעבור לטבלאות מסוננות.
  • פתרון בעיות במשימות: בחירת משימות ספציפיות כדי להציג את תרשימי הביצוע של השאילתות, טקסט ה-SQL והיסטוריית הביצוע שלהן בדף Job details (גרסת טרום-השקה (Preview)).
  • השוואת ביצועים: השוואת משימות (גרסת טרום-השקה (Preview)) כדי להדגיש הבדלים משמעותיים במדדים ולטפל בבעיות בביצועים פוטנציאליות.
  • לקבל עזרה מ-AI: להשתמש ב-Gemini Code Assist כדי לפתור בעיות ב-Jobs Explorer (תצוגה מקדימה) כדי לנתח נתונים סטטיסטיים של משימות או להסביר שאילתות שפועלות לאט.

‫BigQuery מספק את פרטי המשימות והתובנות מהתצוגות הבאות של INFORMATION_SCHEMA:

לפני שמתחילים

כדי להשתמש ב-Gemini Code Assist לפתרון בעיות במשימות ב-BigQuery (תצוגה מקדימה), צריך להפעיל את ה-API ולהקצות את התפקידים הנדרשים, כמו שמוסבר במאמר הגדרת Gemini Code Assist.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות לשימוש ב-Jobs Explorer למעקב אחרי משימות, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM:

  • צפייה במשימות ברמת הפרויקט: BigQuery Resource Viewer (roles/bigquery.resourceViewer) בפרויקט
  • צפייה במשימות ברמת הארגון: BigQuery Resource Viewer (roles/bigquery.resourceViewer) בארגון
  • צפייה בפרטי המשימה: BigQuery Resource Viewer (roles/bigquery.resourceViewer) בפרויקט שבו הופעלו השאילתות
  • צפייה בפרטים ברמת המערכת: BigQuery Resource Viewer (roles/bigquery.resourceViewer) בפרויקט הניהול

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי להשתמש ב-Jobs Explorer למעקב אחרי משימות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי להשתמש ב-Jobs Explorer למעקב אחרי משימות, נדרשות ההרשאות הבאות:

  • הצגת משימות ברמת הפרויקט: bigquery.jobs.listAll בפרויקט
  • הצגת משימות ברמת הארגון: bigquery.jobs.listAll בארגון

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

כדי להשתמש ב-Gemini Code Assist לפתרון בעיות במשימות, צריך לעמוד ב דרישות נוספות של IAM.

סינון משימות

כדי לסנן משימות של שאילתות שכלולות בתצוגות של INFORMATION_SCHEMA.JOBS*:

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. בתפריט הניווט, לוחצים על Jobs explorer.

  3. בדף Jobs explorer, בשדה Location בוחרים את המיקום שבו רוצים לראות את המשימות.

  4. בחלונית Filters, מוסיפים מסננים אופציונליים לפי הצורך. אם החלונית לא מוצגת, לוחצים על insert_chart Show filters.

    אלה המסננים הזמינים:

    • Job scope: סינון משימות לפי רמת החשיפה שלהן – לדוגמה, הפרויקט הנוכחי, הארגון והמשימות שלכם. אתם יכולים לבחור אם להציג משימות מהפרויקט הנוכחי, מכל הארגון או רק משימות שאתם הפעלתם.
    • תצוגת תרשים:
      • ‫Finished jobs: הצגת נתונים בציר הזמן של שאילתות שהושלמו, תוך הבחנה בין משימות שהושלמו בהצלחה לבין משימות שנכשלו.
      • Concurrency: הצגת נתונים בציר הזמן של השאילתות שפועלות בו-זמנית, תוך הבחנה בין משימות פעילות לבין משימות בתור.
    • קיבוץ לפי: קיבוץ המשימות שמוצגות לפי משאב ספציפי, כמו בעלים, פרויקט או הזמנה. מידע נוסף זמין במאמר קיבוץ משימות לפי משאב.
    • סטטוס: סינון המשימות לפי מצב הביצוע הנוכחי שלהן, למשל: הושלמה, שגיאה, פעילה ובתור. סיכומי הספירות מופיעים ישירות לצד כל אפשרות של מסנן סטטוס, כדי לציין את מספר המשרות במצב הזה.
    • מזהה הפרויקט: סינון משימות שרצו בפרויקט ספציפי.
    • ‫Reservation ID: סינון משימות שהשתמשו במשבצות מהזמנה ספציפית. כך תוכלו לעקוב אחרי האופן שבו עומסי עבודה שונים צורכים את הקיבולת השמורה.
    • ‫Owner: סינון משימות לפי כתובת האימייל של המשתמש או של חשבון השירות שהפעילו את המשימה.
    • ‫Job ID: סינון לפי מזהה אלפאנומרי ייחודי של משימה ספציפית.
    • גיבוב (hash) של שאילתה: סינון לפי משימות עם גיבוב ספציפי של שאילתה. גיבוב (hash) של שאילתה מזהה את הלוגיקה של השאילתה, תוך התעלמות מהבדלים בהערות, בערכי פרמטרים, בפונקציות UDF ובליטרלים, וכך עוזר לכם למצוא את כל ההפעלות של אותה לוגיקת שאילתה. השדה הזה מופיע בשאילתות GoogleSQL שהצליחו ולא נמצאו במטמון.
    • ‫Labels: סינון משימות לפי תוויות מטא-נתונים בהתאמה אישית שאתם או הארגון שלכם צירפתם אליהן. כך אפשר לסווג ולעקוב אחרי משימות לפי מחלקה או אפליקציה.
    • ‫Query insights: מסנן משימות ש-BigQuery זיהה בהן בעיות ספציפיות בביצועים, כמו תחרות על משבצות, חריגה מהקיבולת של ערבוב הזיכרון ושינוי בקנה המידה של קלט הנתונים.
    • ‫Slot time more than: סינון לפי משימות שצרכו יותר מכמות מסוימת של זמן משבצת באלפיות השנייה. זהו מדד חשוב לזיהוי שאילתות שצורכות הרבה משאבים.
    • ‫Duration more than: סינון לפי משימות שהביצוע שלהן נמשך יותר מהזמן שצוין. כך אפשר למצוא שאילתות שפועלות לאט מהצפוי.
    • ‫Bytes processed more than: סינון לפי משימות שסרקו יותר מכמות נתונים מסוימת. כך תוכלו לזהות שאילתות שעלולות לגרום לעלויות גבוהות של עיבוד נתונים.
    • קטגוריית משימה: סינון משימות לפי סוג הפעולה שבוצעה, כמו שאילתות SQL סטנדרטי או שאילתות מתמשכות שמשמשות לעיבוד נתונים בזמן אמת.
    • הסיבה ליצירת המשימה: סינון משימות לפי הסיבה שבגללה BigQuery יצר אותן, למשל כששאילתה חורגת מזמן הקצוב לתפוגה או מפיקה תוצאות גדולות מדי לתגובה אחת.
    • עדיפות המשימה: סינון משימות לפי עדיפות הביצוע שלהן, כמו משימות אינטראקטיביות או משימות באצווה.

הצגת מדדי ציר הזמן של המשימה

ב-Jobs Explorer יש תרשים מדדים אינטראקטיבי שמציג נתונים בציר הזמן של השאילתות שתואמות לקריטריונים של הסינון. אתם יכולים להשתמש בתרשים הזה כדי להעריך את דפוסי עומס העבודה ולזהות עליות פתאומיות במספר המשימות שהושלמו, הפעילות או הממתינות בתור. כדי לראות מגמות היסטוריות של פעולות בו-זמניות בכל הארגון בחלונות זמן ארוכים יותר, אפשר לעיין בתרשימי ציר זמן של מדדים.

כדי להגדיר את תרשים המדדים ב-Jobs Explorer:

  1. נכנסים לדף Jobs explorer.

    כניסה לדף Jobs Explorer

  2. עוברים לחלונית מסננים. אם החלונית לא מוצגת, לוחצים על insert_chart Show filters.

  3. בוחרים את המדד שרוצים לראות בתרשים:

    • ‫Finished jobs: הצגת נתונים בציר הזמן של שאילתות שהושלמו, תוך הבחנה בין משימות שהושלמו בהצלחה לבין משימות שנכשלו.
    • Concurrency: הצגת נתונים בציר הזמן של השאילתות שפועלות בו-זמנית, תוך הבחנה בין משימות פעילות לבין משימות בתור.

קיבוץ משימות לפי משאב

כדי לצבור נתונים סטטיסטיים של משימות ולהשוות את הצריכה בארגון, אתם יכולים לקבץ משימות לפי בעלים, פרויקט או הזמנה, במקום להציג משימות בודדות בטבלה לא נצברת.

כדי לקבץ משימות:

  1. נכנסים לדף Jobs explorer.

    כניסה לדף Jobs Explorer

  2. עוברים לחלונית מסננים. אם החלונית לא מוצגת, לוחצים על insert_chart Show filters.

  3. לוחצים על קיבוץ לפי ובוחרים באחת מהאפשרויות הבאות:

    • None (ברירת מחדל): הצגת הטבלה הלא מצטברת של משימות נפרדות.
    • ‫Owner: מקבץ את המשימות לפי כתובת האימייל של המשתמש או של חשבון השירות שהריצו את המשימה.
    • ‫Project: קיבוץ משימות לפי מזהה הפרויקט.
    • ‫Reservation: קיבוץ משימות לפי מזהה ההזמנה.

כשמגדירים את קיבוץ לפי לערכים בעלים,‏ פרויקט או מקום שמור, ב-BigQuery מוצגת תצוגה נצברת עם חלוניות סיכום לכל משאב. בכל חלונית מוצגים הנתונים הסטטיסטיים הבאים:

  • משימות פעילות: מספר המשימות שפועלות.
  • ‫Queued jobs: מספר המשימות שממתינות בתור השאילתות.
  • משימות עם שגיאות: מספר המשימות שלא הושלמו.
  • משימות שהושלמו: מספר המשימות שהושלמו בהצלחה.
  • ‫Slot time: מספר ה-slot-milliseconds הכולל שנצרך על ידי משימות באותו משאב.
  • ‫Bytes processed: נפח הנתונים הכולל שנסרק על ידי משימות במשאב הזה.

כדי לבדוק את המשימות שמשויכות למשאב מסוים, לוחצים על החלונית של המשאב כדי להרחיב אותה ולהציג טבלה מסוננת של המשימות שלו.

פתרון בעיות בביצועי המשימות

כדי לאבחן ולפתור בעיות בשאילתות, אתם יכולים לראות את מדדי הרצת השאילתות, טקסט ה-SQL והיסטוריית הביצועים בדף Job details.

הצגת פרטי המשרה

כדי לראות את פרטי המשימה ולנתח את הרצת השאילתה:

  1. נכנסים לדף Jobs explorer.

    כניסה לדף Jobs Explorer

  2. אופציונלי: כדי לצמצם את המשימות שמוצגות, מסננים אותן.

  3. לוחצים על מזהה המשימה שרוצים לחקור. בשאילתות שלא יוצרות משימה, מזהה השאילתה מופיע והקישור מושבת. לחיצה על מזהה משימה תקין פותחת את הדף Job details, שבו מוצגת כברירת מחדל הכרטיסייה Performance.

מידע זמין על שאילתות

כדי לעזור לכם לאבחן את ביצועי השאילתות, בכרטיסייה Performance בפרטי המשימה נאספים המידע והמדדים הבאים, אם הם רלוונטיים:

  • פרטי המשימה: מידע על המשימה, כולל מזהה המשימה, זמן היצירה, מספר הבייטים שעובדו והשימוש בחריצים. מידע נוסף זמין במאמר הצגת פרטי המשימה.
  • ‫Execution history: רשימה של הרצות קודמות של השאילתה, מקובצות לפי גיבוב (hash) של השאילתה. אתם יכולים לבחור משרה מהרשימה הזו כדי להשוות אותה ישירות למשרה הנוכחית שלכם. מידע נוסף זמין במאמר השוואה בין משימות.
  • תרשים הפעלה: ייצוג חזותי של שלבי ההפעלה של השאילתה. מרחיבים את הקטע Execution graph כדי לבדוק את התחרות על משבצות, את קיבולת הערבוב ואת קנה המידה של קלט הנתונים. מידע נוסף זמין במאמר קבלת תובנות לגבי ביצועי שאילתות.

    בדוגמה הבאה מוצג תרשים ביצוע עם מיפוי טקסט SQL מופעל:

    תרשים ביצוע של משימות.

  • עומס המערכת במהלך הביצוע: סיכום של משאבי המחשוב והגדרות ההזמנה שהוקצו במהלך ביצוע המשימה.

אבחון רגרסיות בביצועים באמצעות השוואה בין משימות ומערכות

הכלי להשוואת ביצועים מאפשר לנתח את ההבדלים בביצועים בין שתי משימות שאילתה או בין שני מרווחי זמן של המערכת. הניתוח מציג פרטי שאילתות, שינויים בניצול המשאבים והגדרות של סביבת המערכת ששונות באופן משמעותי בין סביבת הבסיס לסביבת היעד.

הסבר על ניתוח השוואתי

כלי ההשוואה מעריך את הביצועים לפי מדדים ברמת השאילתה וגורמים ברמת המערכת. כדי להגביל את התצוגה למדדים עם שונות גדולה מ-20%, אפשר להפעיל את המתג הצגת הבדלים משמעותיים בלבד.

הבדלים משמעותיים מקודדים בצבעים כדי לעזור לכם לסרוק את הנתונים ולמצוא בעיות:

  • ירוק: המדד השתפר (לדוגמה, משך שאילתה קצר יותר בהרצת היעד).
  • צהוב: המדד ירד בפחות מ-20%.
  • אדום: המדד ירד ביותר מ-20%.

השוואה בין שתי משרות

כדי להשוות בין משימת בסיס לבין הרצת משימה מסוימת:

  1. פותחים את הדף Jobs explorer.

    כניסה לדף Jobs Explorer

  2. אופציונלי: כדי לצמצם את המשימות שמוצגות, מסננים אותן.

  3. לוחצים על מזהה המשימה של משימת הבסיס כדי לפתוח את הדף Job details, ובוחרים בכרטיסייה Performance.

  4. בתפריט Actions, לוחצים על Compare Job.

  5. בשדה Job one (baseline job), לוחצים על Browse כדי לפתוח את החלונית Similar comparable jobs.

  6. בוחרים את המשימה שרוצים להשוות לקו הבסיס ולוחצים על Compare.

  7. אופציונלי: כדי להתמקד ברגרסיות משמעותיות בביצועים, מפעילים את האפשרות Show only significant differences. כך התצוגה תוגבל למדדים עם שונות של יותר מ-20%.

כדי לשנות את המשימות שמשווים ביניהן, לוחצים על Browse בשדות של משימת הבסיס או משימת היעד ובוחרים משימה חדשה מרשימת המשימות להשוואה.

ניתוח ברמת השאילתה

אחרי שמשווים בין שתי משימות, אפשר לעיין בקטע Query level analysis שמשווה בין שתי הרצות של משימות בשלוש כרטיסיות:

  • מדדים: השוואה בין מדדי ליבה של שאילתות, כמו משך העבודה, זמן ה-slot, בייטים שעובדו ומאיצים שלא היו בשימוש.
  • ‫SQL text: הצגת הצהרות ה-SQL של שני ה-jobs והדגשת ההבדלים בטקסט.
  • תרשים ביצוע: משווה בין תרשימי הביצוע של שני השלבים של המשימות כדי לזהות איפה נוצרו צווארי בקבוק.

השוואה בין שני מרווחים במערכת

אדמינים ומנתחי נתונים יכולים לנתח מדדים רחבים יותר של הסביבה על ידי השוואה של ביצועי המערכת. הכלי הזה מאפשר להשוות בין מרווחים היסטוריים בפרויקטים ובהזמנות ספציפיות, כדי להבין את השינויים בניצול ולבודד את המקור של הירידה בביצועים – אם הוא פנימי או חיצוני לעומס העבודה.

כדי לעבור לתצוגת ההשוואה של ביצועי המערכת, אתם יכולים לבחור באחת מהאפשרויות הבאות:

  • בדף Job details, אחרי שמשווים בין שתי משימות, לוחצים על View more בקטע System level outputs כדי לראות את פרטי ההשוואה של המערכת.
  • אם אתם משתמשים ב-Gemini Cloud Assist כדי להשוות בין מערכות, Gemini Cloud Assist יוצר קישור שפותח את תוצאות ההשוואה.

כדי לבצע השוואה ברמת המערכת בין תקופות זמן נפרדות:

  1. בתצוגה System performance comparison, לוחצים על System.
  2. לוחצים על Browse ובוחרים את המערכת שבה רוצים לנתח את הביצועים, לפי היקף ההזמנה או הפרויקט.
  3. מגדירים את מסגרות הזמן להשוואה:
    • ‫Target Interval: בוחרים את התאריך ואת חלון הזמן של התקופה שבה נתקלתם בבעיות בביצועים, ולוחצים על Apply.
    • מרווח בסיס: בוחרים את חלון הזמן ותאריך הייחוס שישמשו כנקודת השוואה לביצועים, ולוחצים על אישור.

ניתוח ברמת המערכת

אחרי השוואת המרווחים, בתצוגה ממופים השינויים בניצול, השינויים בו-זמניות וההבדלים בהגדרות בסביבה שנבחרה בהשוואה לקבוצת ההורה שלה. כך תוכלו לקבוע אם תחרות על משבצות או רגרסיות בהגדרות משפיעות על עומס העבודה. הנתונים נוצרים בשלושה בלוקים:

  • ‫Project: השוואה בין מספר המשימות שפועלות בו-זמנית, מספר המשימות בתור שפועלות בו-זמנית וסך השימוש ב-slots ברמת הפרויקט.
  • ‫Reservation: השוואה בין ניצול ההזמנות, שיתוף של משבצות לא פעילות ובו-זמניות של פרויקטים בהזמנות משותפות.
  • ניתוח הגדרות: השוואה בין הגדרות כלי לניהול עומס העבודה בשתי ההרצות, כמו מגבלות על הגודל המקסימלי של מקום שמור וכללים לגבי השאלת יחידת קיבולת (Slot) בלי פעילות.

שימוש בתובנות מבוססות-סוכנים לפתרון בעיות בביצועים

כדי לשלוח משוב או לבקש תמיכה בתכונה הזו, שלחו אימייל לכתובת bq-performance-troubleshooting+feedback@google.com.

כשאתם עוקבים אחרי משימות ניהול או בודקים השוואות של ביצועים, BigQuery משלב את אבחון הניטור הבסיסי עם Gemini Cloud Assist כדי להפוך את חלונית הצ'אט לעוזר פעיל לפתרון בעיות, בזמן שאתם פותרים בעיות של חריגות ברמת המשימה וברמת המערכת.

הגישה לתובנות מבוקרת. אם אין לכם הרשאות מתאימות, יכול להיות שתקבלו תובנות מוגבלות. מידע נוסף על הרשאות זמין במאמר שליטה בגישה למשאבים באמצעות IAM.

פתרון בעיות בביצועים בצ'אט

כדי להפעיל את פתרון הבעיות בהתאם להקשר ולפעול לפי התובנות לגבי הביצועים:

  1. כדי לפתוח את חלונית הצ'אט של Gemini Cloud Assist ולטעון באופן אוטומטי את ההקשר הרלוונטי של המשימה או המערכת, מבצעים אחת מהפעולות הבאות:
    • בדף Jobs explorer או Job history, מעבירים את העכבר מעל משימה ולוחצים על astrophotography_mode Gemini בשורה של המשימה בטבלה.
    • בדף Workload management, מעבירים את העכבר מעל הקצאה ולוחצים על astrophotography_mode Gemini בשורה הזו בטבלה.
    • ב-Studio, ב-Monitoring או ב-Jobs explorer, לוחצים על astrophotography_mode Gemini.
  2. שולחים הנחיה בשפה טבעית. לדוגמה, אתם יכולים לבקש מ-Gemini להסביר למה משימה פועלת לאט, לנתח נתונים סטטיסטיים של משימה ספציפית, לנתח ביצועים של הזמנה ספציפית, לפתור בעיות בביצועי המערכת או להשוות בין הבדלים בביצועים של שתי משימות היסטוריות דומות.
  3. אם חורגים מסף ברמת הארגון או ברמת ההזמנה, למשל תור ארוך של משבצות בגלל עלייה בלתי צפויה במספר הפרויקטים הפעילים בו-זמנית, כדאי לבדוק את הדוח שנוצר ב-Performance Insights. בדוח הזה מפורטים צווארי בקבוק קריטיים, כמו:
    • Increased Queued Concurrency: עלייה חדה בביקוש לשאילתות בו-זמניות שחורגות מהמגבלות הגמישות של בו-זמניות או מהקצאות המשבצות של ההזמנה.
    • Increased Project Concurrency: מעקב אחרי הפרויקטים המדויקים עם בו-זמניות גבוהה או חשבונות המשתמשים המובילים שגורמים לעומס על המערכת במכסות משותפות או במכסות על פי דרישה.
  4. בטבלה Key Metrics Comparison אפשר לראות את ההבדלים המספריים המדויקים, כמו שינויים בממוצע הפרויקטים שפועלים בו-זמנית, במשבצות בתור או במגבלות המקסימליות של משבצות בהזמנה.
  5. להפעיל פתרונות מוטמעים ישירות דרך קישורים לפעולות שנוצרו על ידי Gemini Cloud Assist. קיצורי הדרך האלה מפנים אתכם לכלים ספציפיים במוצר, עם הקשר שמולא מראש, כדי לענות על השאלות שלכם ולפתור בעיות:

    • ‫Edit reservation: פותחת את החלונית הצדדית של כלי לניהול עומס העבודה כדי לשנות את הגודל המקסימלי של המקום השמור או להפעיל יכולות מתקדמות של התאמה לעומס.
    • ‫View job performance in Job explorer: פתיחת הכרטיסייה של פרטי הביצועים של המשימה הספציפית.
    • השוואת ביצועי משימות ב-Job explorer: השוואה בין הביצועים של שתי משימות, זו לצד זו.

תמחור

הכלי "משרות" זמין ללא עלות נוספת. השאילתות שמשמשות לאכלוס התרשימים האלה לא מחויבות ולא משתמשות במשבצות בהזמנות שבבעלות המשתמש. שאילתות שמעבדות יותר מדי נתונים נכשלות בגלל זמן קצוב לתפוגה.

המאמרים הבאים