תצוגה של ציר הזמן של המשימות לפי משתמש
התצוגה INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER מכילה מטא-נתונים של BigQuery שמתעדכנים כמעט בזמן אמת, לפי חלון זמן של העבודות שנשלחו על ידי המשתמש הנוכחי בפרויקט הנוכחי. בתצוגה הזו מוצגות משימות שפועלות כרגע ומשימות שהושלמו.
ההרשאות הנדרשות
כדי לשלוח שאילתה לתצוגה המפורטת INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER, צריך את ההרשאה bigquery.jobs.list לניהול זהויות והרשאות גישה (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 |
מספר הפרויקט. |
user_email |
STRING |
(Clustering column) כתובת האימייל או חשבון השירות של המשתמש שהפעיל את העבודה. |
principal_subject |
STRING |
ייצוג מחרוזת של הזהות של הגורם הראשי שהפעיל את המשימה. |
job_id |
STRING |
מזהה המשרה. לדוגמה, bquxjob_1234. |
job_type |
STRING |
סוג המשרה. יכול להיות QUERY, LOAD, EXTRACT, COPY או NULL. הערך NULL מציין עבודה ברקע. |
labels |
RECORD |
מערך של תוויות שמוחלות על העבודה כצמדי מפתח/ערך. |
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_USER, כי התצוגה שומרת רק נתונים שנוצרו החל מתאריך ההעברה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו חייבות לכלול מסנן אזור. אם לא מציינים מסנן אזורי, המטא-נתונים מאוחזרים מכל האזורים. בטבלה הבאה מוסבר ההיקף של האזור והמשאבים בתצוגה הזו:
| שם התצוגה | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER |
משימות שנשלחו על ידי המשתמש הנוכחי בפרויקט שצוין. | REGION |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור במערך נתונים. לדוגמה,`region-us`.
דוגמה
השאילתה הבאה מציגה את סך אלפיות השנייה של משבצות הזמן שנצרכו בשנייה על ידי משימות שנשלחו על ידי המשתמש הנוכחי בפרויקט שצוין:
SELECT period_start, SUM(period_slot_ms) AS total_period_slot_ms FROM `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER GROUP BY period_start ORDER BY period_start DESC;
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+---------------------------+---------------------------------+ | period_start | total_period_slot_ms | +---------------------------+---------------------------------+ | 2019-10-10 00:00:04 UTC | 118639 | | 2019-10-10 00:00:03 UTC | 251353 | | 2019-10-10 00:00:02 UTC | 1074064 | | 2019-10-10 00:00:01 UTC | 1124868 | | 2019-10-10 00:00:00 UTC | 1113961 | +---------------------------+---------------------------------+