התצוגה JOBS_BY_USER
התצוגה INFORMATION_SCHEMA.JOBS_BY_USER מכילה מטא-נתונים כמעט בזמן אמת על משימות BigQuery שנשלחו על ידי המשתמש הנוכחי בפרויקט הנוכחי.
התפקיד הנדרש
כדי לקבל את ההרשאה שנדרשת לשליחת שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_BY_USER, בקשו מהאדמין להקצות לכם את התפקיד משתמש BigQuery (roles/bigquery.user) ב-IAM בפרויקט.
להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה bigquery.jobs.list, שנדרשת כדי לשלוח שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_BY_USER.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.
במאמר בקרת גישה באמצעות IAM תוכלו לקרוא מידע נוסף על ההרשאות ב-BigQuery.
סכימה
הנתונים הבסיסיים מחולקים למחיצות לפי העמודה creation_time ומקובצים לפי project_id ו-user_email.
הסכימה של התצוגה INFORMATION_SCHEMA.JOBS_BY_USER היא:
| שם העמודה | סוג הנתונים | ערך |
|---|---|---|
bi_engine_statistics |
RECORD |
אם הפרויקט מוגדר לשימוש ב-BI Engine, השדה הזה מכיל את BiEngineStatistics.
אחרת NULL.
|
cache_hit |
BOOLEAN |
אם תוצאות השאילתה של המשימה הזו הגיעו מהמטמון.
אם יש לכם משימה של הצהרה עם כמה שאילתות, הערך של cache_hit בשאילתת ההורה הוא NULL.
|
copy_job_statistics |
RECORD |
נתונים סטטיסטיים של משימת העתקה. |
creation_time |
TIMESTAMP |
(עמודת חלוקה למחיצות) מועד היצירה של המשימה הזו. החלוקה למחיצות מבוססת על זמן UTC של חותמת הזמן הזו. |
destination_table |
RECORD |
טבלת היעד לתוצאות, אם יש כאלה. |
dml_statistics |
RECORD |
אם המשימה היא שאילתה עם פקודת DML, הערך הוא רשומה עם השדות הבאים:
NULL.העמודה הזו מופיעה בתצוגות INFORMATION_SCHEMA.JOBS_BY_USER ו-INFORMATION_SCHEMA.JOBS_BY_PROJECT.
|
end_time |
TIMESTAMP |
שעת הסיום של המשימה, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch). השדה הזה מייצג את הזמן שבו המשימה נכנסת למצב DONE. |
error_result |
RECORD |
פרטים על שגיאות כאובייקטים של ErrorProto. |
global_query_info |
RECORD |
מידע על שאילתה עם אחזור נתונים גלובלי.
מכיל את השדות הבאים:
|
job_creation_reason.code |
STRING |
מציין את הסיבה הכללית ליצירת המשימה. הערכים האפשריים הם:
|
job_id |
STRING |
המזהה של המשימה, אם נוצרה משימה. אחרת, מזהה השאילתה של שאילתה שמשתמשת במצב יצירה אופציונלית של משימות. לדוגמה, bquxjob_1234. |
job_stages |
RECORD REPEATED |
שלבי השאילתה של המשימה.
הערה: הערכים בעמודה הזו ריקים בשאילתות שקוראות מטבלאות עם כללי מדיניות גישה ברמת השורה. מידע נוסף זמין במאמר שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery. |
job_type |
STRING |
סוג המשימה. הערכים האפשריים: QUERY, LOAD, EXTRACT, COPY או NULL. הערך NULL מציין משימה ברקע.
|
labels |
RECORD |
מערך של תוויות שנוספו למשימה כצמדי מפתח/ערך. |
object_storage_stats |
RECORD REPEATED |
נתונים סטטיסטיים על השימוש במאגר אובייקטים ובמטמון של משימת שאילתה.
הערך הוא רשומה חוזרת עם השדות הבאים:
|
parent_job_id |
STRING |
המזהה של המשימה הראשית, אם יש כזו. |
priority |
STRING |
העדיפות של המשימה הזו. הערכים התקינים כוללים את INTERACTIVE ו-BATCH. |
project_id |
STRING |
(עמודת אשכול) מזהה הפרויקט. |
project_number |
INTEGER |
מספר הפרויקט. |
query |
STRING |
טקסט של שאילתת SQL. |
referenced_tables |
RECORD |
מערך של ערכי STRUCT שמכילים את השדות הבאים של STRING לכל טבלה שהשאילתה מפנה אליה: project_id, dataset_id ו-table_id. השדה הזה מאוכלס רק במשימות של שאילתות שלא נמצאו במטמון.
|
referenced_logical_views |
RECORD |
מערך של ערכי STRUCT שמכילים את השדות הבאים של STRING לכל תצוגה לוגית שהשאילתה מפנה אליה: project_id, dataset_id ו-table_id. השדה הזה מאוכלס רק במשימות שאילתה שלא נמצאו במטמון.
|
reservation_id |
STRING |
שם ההקצאה הראשית שהוקצתה למשימה הזו, בפורמט RESERVATION_ADMIN_PROJECT:RESERVATION_LOCATION.RESERVATION_NAME.בפלט הזה:
|
reservation_group_path |
ARRAY<STRING> |
קבוצת ההזמנות שאליה מקושרת ההזמנה.
לדוגמה, אם ההזמנה מקושרת לקבוצה my-group, השדה reservation_group_path מכיל רשימה כמו: [my-group]. |
edition |
STRING |
המהדורה שמשויכת להזמנה שהוקצתה למשימה הזו. מידע נוסף על המהדורות זמין במאמר מבוא למהדורות של BigQuery. |
session_info |
RECORD |
פרטים על הסשן שבו המשימה הזו הופעלה, אם יש כזה. |
start_time |
TIMESTAMP |
שעת ההתחלה של המשימה, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch). השדה הזה מייצג את הזמן שבו המשימה עוברת מהמצב PENDING למצב RUNNING או DONE. |
state |
STRING |
מצב ההפעלה של המשימה. הסטטוסים התקינים הם PENDING, RUNNING ו-DONE.
|
statement_type |
STRING |
סוג הצהרת השאילתה. לדוגמה, DELETE, INSERT, SCRIPT, SELECT או UPDATE. רשימה של ערכים תקינים מופיעה ב-QueryStatementType.
|
timeline |
RECORD |
ציר הזמן של השאילתה של המשימה. מכיל תמונות מצב של הפעלת השאילתה. |
total_bytes_billed |
INTEGER |
אם הפרויקט מוגדר לשימוש בתמחור על פי דרישה, השדה הזה מכיל את סך כל הבייטים שחויבו עבור המשימה. אם הפרויקט מוגדר לשימוש בתמחור קבוע, לא תחויבו על בייטים והשדה הזה מיועד למטרות מידע בלבד.
הערה: הערכים בעמודה הזו ריקים בשאילתות שקוראות מטבלאות עם כללי מדיניות גישה ברמת השורה. מידע נוסף זמין במאמר שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery. |
total_bytes_processed |
INTEGER |
מספר הבייטים הכולל שעובדו על ידי המשימה. הערה: הערכים בעמודה הזו ריקים בשאילתות שקוראות מטבלאות עם כללי מדיניות גישה ברמת השורה. מידע נוסף זמין במאמר שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery. |
total_modified_partitions |
INTEGER |
המספר הכולל של המחיצות שהמשימה שינתה. השדה הזה מאוכלס במשימות LOAD ו-QUERY.
|
total_slot_ms |
INTEGER |
מספר האלפיות של השנייה של המשבצת להפעלה האחרונה של המשימה, לא כולל ניסיונות חוזרים קודמים, אם היו כאלה. |
total_services_sku_slot_ms |
INTEGER |
המספר הכולל של אלפיות השנייה של ה-slot למשימה שפועלת בשירותים חיצוניים ומחויבת במק"ט של השירותים. השדה הזה מאוכלס רק במשימות שיש להן עלויות של שירותים חיצוניים, והוא מייצג את סך כל השימוש בעלויות שאמצעי החיוב שלהן הוא "SERVICES_SKU". |
transaction_id |
STRING |
המזהה של הטרנזקציה שבה המשימה הזו הופעלה, אם יש כזו. |
user_email |
STRING |
(עמודת אשכול) כתובת האימייל או חשבון השירות של המשתמש שהריץ את המשימה. |
principal_subject |
STRING |
ייצוג מחרוזת של זהות חשבון המשתמש שהפעיל את המשימה. |
query_info.resource_warning |
STRING |
הודעת האזהרה שמופיעה אם השימוש במשאבים במהלך עיבוד השאילתה חורג מהסף הפנימי של המערכת. אם משימת השאילתה בוצעה בהצלחה, השדה resource_warning יכול להיות מאוכלס. בעזרת resource_warning, אתם מקבלים נקודות נוספות על הגרף כדי לבצע אופטימיזציה של השאילתות ולהגדיר מעקב אחרי מגמות בביצועים של קבוצת שאילתות מקבילה באמצעות query_hashes.
|
query_info.query_hashes.normalized_literals |
STRING |
מכיל את ערך ה-hash של השאילתה. normalized_literals הוא גיבוב (hash) הקסדצימלי של STRING שמתעלם מהערות, מערכי פרמטרים, מפונקציות בהגדרת משתמש (UDF) ומליטרלים.
ערך ה-hash יהיה שונה כשהתצוגות הבסיסיות ישתנו, או אם השאילתה מפנה באופן משתמע לעמודות, כמו SELECT *, וסכימת הטבלה משתנה.
השדה הזה מופיע בשאילתות GoogleSQL שהסתיימו בהצלחה ולא נמצאו במטמון. |
query_info.performance_insights |
RECORD |
תובנות לגבי הביצועים של המשרה. |
transferred_bytes |
INTEGER |
סה"כ הבייטים שהועברו בשאילתות של BigQuery Omni, כמו משימות העברה של BigQuery Omni. |
materialized_view_statistics |
RECORD |
נתונים סטטיסטיים של תצוגות מהותיות שנכללו במשימת שאילתה. (גרסת טרום-השקה (Preview)) |
metadata_cache_statistics |
RECORD |
נתונים סטטיסטיים על השימוש באינדקס של עמודות המטא-נתונים בטבלאות שאליהן מפנה משימת השאילתה. |
search_statistics |
RECORD |
נתונים סטטיסטיים של שאילתת חיפוש. |
query_dialect |
STRING |
השדה הזה יהיה זמין במהלך מאי 2025.
הניב של השאילתה ששימש למשימה. הערכים התקינים כוללים:
במשימות שנשלחות על ידי משתמשים, השדה הזה מאוכלס רק במשימות של שאילתות. אפשר לשלוט בבחירת ברירת המחדל של ניב השאילתה באמצעות הגדרות התצורה. במשימות ברקע, הערך של השדה הזה לא נשלט על ידי הגדרות ברירת המחדל של ניב השאילתה, ולא משפיע על משימות שנשלחות על ידי משתמשים. בחלק מהמשימות ברקע, הערך מושמט. |
continuous |
BOOLEAN |
אם המשימה היא שאילתה מתמשכת. |
continuous_query_info.output_watermark |
TIMESTAMP |
מייצג את הנקודה שעד אליה השאילתה המתמשכת עיבדה נתונים בהצלחה. |
vector_search_statistics |
RECORD |
נתונים סטטיסטיים של שאילתת חיפוש וקטורי. |
external_service_costs |
RECORD |
מערך של מידע על עלויות השירות החיצוני של משימת שאילתה. |
ml_statistics.model_type |
STRING |
אם המשימה היא שאילתה ליצירת מודל BigQuery ML, השדה הזה מציין את סוג המודל שנוצר. לכל שאר המשימות, הערך הוא NULL.
|
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כללי לחיפוש (SELECT *). ציון מפורש של העמודות מונע את קריסת השאילתות אם הסכימה הבסיסית משתנה.
שמירת נתונים
בתצוגה הזו מופיעות משימות שפועלות, וגם היסטוריית המשימות מ-180 הימים האחרונים.
אם פרויקט עובר לארגון (ממצב שבו לא היה לו ארגון או מארגון אחר), אי אפשר לגשת למידע על משימות שנוצרו לפני תאריך ההעברה דרך התצוגה INFORMATION_SCHEMA.JOBS_BY_USER, כי התצוגה שומרת רק נתונים שנוצרו החל מתאריך ההעברה.
היקף ותחביר
שאילתות בתצוגה הזו חייבות לכלול מזהה אזור. בטבלה הבאה מוסבר היקף האזור של התצוגה הזו:
| הצגת השם | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_BY_USER |
משימות שהמשתמש הנוכחי שלח בפרויקט שצוין. | REGION |
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud (אופציונלי). אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור של מערך נתונים. לדוגמה,`region-us`.
דוגמאות
כדי להריץ את השאילתה בפרויקט אחר, ולא בפרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט בפורמט הבא:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_USER
-
PROJECT_ID: מזהה הפרויקט -
REGION_NAME: האזור של הפרויקט
לדוגמה, `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_USER.
הצגת משימות בהמתנה או משימות שפועלות
השאילתה הבאה מציגה את מזהה המשימה, זמן היצירה והשאילתה של כל המשימות בהמתנה או המשימות שפועלות, שנשלחו על ידי המשתמש הנוכחי בפרויקט המיועד:
SELECT job_id, creation_time, query FROM `region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_USER WHERE state != 'DONE';
התוצאה אמורה להיראות כך:
+--------------+---------------------------+---------------------------------+ | job_id | creation_time | query | +--------------+---------------------------+---------------------------------+ | bquxjob_1 | 2019-10-10 00:00:00 UTC | SELECT ... FROM dataset.table1 | | bquxjob_2 | 2019-10-10 00:00:01 UTC | SELECT ... FROM dataset.table2 | | bquxjob_3 | 2019-10-10 00:00:02 UTC | SELECT ... FROM dataset.table3 | +--------------+---------------------------+---------------------------------+