תצוגה JOBS_TIMELINE_BY_FOLDER

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

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

כדי לשלוח שאילתה לתצוגה INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER, אתם צריכים את ההרשאה bigquery.jobs.listAll לניהול זהויות והרשאות גישה (IAM) לתיקיית האב. כל אחד מהתפקידים המוגדרים מראש הבאים ב-IAM כולל את ההרשאה הנדרשת:

  • אדמין תיקיות
  • אדמין של BigQuery

מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.

סכימה

כשמריצים שאילתה על תצוגות INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*, תוצאות השאילתה מכילות שורה אחת לכל שנייה של ביצוע של כל משימת BigQuery. כל תקופה מתחילה במרווח של שנייה שלמה ונמשכת בדיוק שנייה אחת.

לתצוגה INFORMATION_SCHEMA.JOBS_TIMELINE_BY_* יש את הסכימה הבאה:

שם העמודה סוג נתונים ערך
period_start TIMESTAMP שעת ההתחלה של התקופה הזו.
period_slot_ms INTEGER מספר אלפיות השנייה של משבצות הזמן שנצרכו בתקופה הזו.
project_id STRING (Clustering column) מזהה הפרויקט.
project_number INTEGER מספר הפרויקט.
folder_numbers REPEATED INTEGER מזהי המספרים של התיקיות שמכילות את הפרויקט, החל מהתיקייה שמכילה ישירות את הפרויקט, ואחריה התיקייה שמכילה את תיקיית הבן וכן הלאה. לדוגמה, אם הערך של `folder_numbers` הוא `[1, 2, 3]`, התיקייה `1` מכילה מיד את הפרויקט, התיקייה `2` מכילה את התיקייה `1`, והתיקייה `3` מכילה את התיקייה `2`.
user_email STRING (Clustering column) כתובת האימייל או חשבון השירות של המשתמש שהפעיל את העבודה.
principal_subject STRING ייצוג מחרוזת של הזהות של הגורם הראשי שהפעיל את המשימה.
job_id STRING מזהה המשרה. לדוגמה, bquxjob_1234.
job_type STRING סוג המשרה. יכול להיות QUERY, LOAD, EXTRACT, COPY או null. סוג המשימה null מציין משימה פנימית, כמו הערכת הצהרת משימת סקריפט או רענון של תצוגה חומרית.
statement_type STRING סוג הצהרת השאילתה, אם היא תקפה. לדוגמה, SELECT,‏ INSERT,‏ UPDATE או DELETE.
priority STRING העדיפות של העבודה הזו. הערכים התקפים כוללים INTERACTIVE ו-BATCH.
parent_job_id STRING המזהה של עבודת ההורה, אם יש כזו.
job_creation_time TIMESTAMP (עמודת חלוקה למחיצות) מועד היצירה של העבודה הזו. החלוקה למחיצות מבוססת על זמן UTC של חותמת הזמן הזו.
job_start_time TIMESTAMP שעת ההתחלה של העבודה הזו.
job_end_time TIMESTAMP שעת הסיום של העבודה.
state STRING מצב ההפעלה של העבודה בסוף התקופה הזו. מצבים תקינים כוללים PENDING, RUNNING ו-DONE.
reservation_id STRING שם ההזמנה הראשית שהוקצתה לעבודה הזו בסוף התקופה הזו, אם רלוונטי.
edition STRING המהדורה שמשויכת להזמנה שהוקצתה למשרה הזו. מידע נוסף על מהדורות זמין במאמר מבוא למהדורות של BigQuery.
total_bytes_billed INTEGER אם הפרויקט מוגדר לשימוש בתמחור על פי דרישה, השדה הזה מכיל את סך הבייטים שחויבו על העבודה. אם הפרויקט מוגדר לשימוש בתמחור לפי תעריף קבוע, לא מחייבים אתכם על בייטים והשדה הזה הוא רק לצורכי מידע.
total_bytes_processed INTEGER המספר הכולל של בייטים שעובדו על ידי העבודה.
error_result RECORD פרטי השגיאה (אם יש) בתור ErrorProto.
cache_hit BOOLEAN האם תוצאות השאילתה של העבודה הזו הגיעו ממטמון.
period_shuffle_ram_usage_ratio FLOAT יחס השימוש בהפעלה אקראית בפרק הזמן שנבחר. הערך הוא 0.0 אם העבודה בוצעה עם הזמנה שמשתמשת בהתאמה אוטומטית לעומס ויש לה אפס משבצות בסיסיות.
period_estimated_runnable_units INTEGER יחידות עבודה שאפשר לתזמן באופן מיידי בתקופה הזו. יחידות קיבולת נוספות ליחידות העבודה האלה יאיצו את השאילתה, בתנאי שאף שאילתה אחרת בהזמנה לא זקוקה ליחידות קיבולת נוספות.
transaction_id STRING המזהה של העסקה שבה המשימה הזו הופעלה, אם יש כזה. (תצוגה מקדימה)

כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.

שמירת נתונים

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

היקף ותחביר

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

שם התצוגה היקף המשאבים היקף האזור
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER ברמת הפרויקט REGION
מחליפים את מה שכתוב בשדות הבאים:
  • אופציונלי: PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
  • REGION: כל שם של אזור במערך נתונים. לדוגמה, `region-us`.

דוגמאות

בדוגמאות הבאות אפשר לראות איך שולחים שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER.

קבלת מספר המשרות הייחודיות

השאילתה הבאה מציגה את מספר המשימות הייחודיות שפועלות בכל דקה בתיקייה של הפרויקט שצוין:

SELECT
  TIMESTAMP_TRUNC(period_start, MINUTE) AS per_start,
  COUNT(DISTINCT job_id) AS unique_jobs
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER,
  UNNEST(folder_numbers) f
WHERE
  my_folder_number = f
GROUP BY
  per_start
ORDER BY
  per_start DESC;
INFORMATION_SCHEMA

התוצאה אמורה להיראות כך:

+---------------------------+---------------------------------+
|  per_start                |  unique_jobs                    |
+---------------------------+---------------------------------+
|  2019-10-10 00:04:00 UTC  |  5                              |
|  2019-10-10 00:03:00 UTC  |  2                              |
|  2019-10-10 00:02:00 UTC  |  3                              |
|  2019-10-10 00:01:00 UTC  |  4                              |
|  2019-10-10 00:00:00 UTC  |  4                              |
+---------------------------+---------------------------------+

חישוב הזמן שחלף בין תחילת הסשן לסיום שלו

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

SELECT
  TIMESTAMP_TRUNC(period_start, MINUTE) AS per_start,
  SUM(period_slot_ms) AS slot_ms
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER,
  UNNEST(folder_numbers) f
WHERE
  my_folder_number = f
  AND reservation_id = "my reservation id"
  AND statement_type != "SCRIPT"
GROUP BY
  per_start
ORDER BY
  per_start DESC;

התוצאה אמורה להיראות כך:

+---------------------------+---------------------------------+
|  per_start                |  slot_ms                        |
+---------------------------+---------------------------------+
|  2019-10-10 00:04:00 UTC  |  500                            |
|  2019-10-10 00:03:00 UTC  |  1000                           |
|  2019-10-10 00:02:00 UTC  |  3000                           |
|  2019-10-10 00:01:00 UTC  |  4000                           |
|  2019-10-10 00:00:00 UTC  |  4000                           |
+---------------------------+---------------------------------+