התצוגה JOBS_BY_USER
התצוגה INFORMATION_SCHEMA.JOBS_BY_USER מכילה מטא נתונים כמעט בזמן אמת על עבודות BigQuery שנשלחו על ידי המשתמש הנוכחי בפרויקט הנוכחי.
התפקיד הנדרש
כדי לקבל את ההרשאה שנדרשת לשליחת שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_BY_USER, צריך לבקש מהאדמין להקצות לכם את התפקיד BigQuery User (roles/bigquery.user) ב-IAM בפרויקט.
להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה bigquery.jobs.list, שנדרשת כדי לשלוח שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_BY_USER.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.
סכימה
הנתונים הבסיסיים מחולקים למחיצות לפי העמודה 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.
|
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 |
שעת הסיום של העבודה הזו, באלפיות השנייה מאז תקופת הזמן. השדה הזה מייצג את הזמן שבו העבודה נכנסת למצב DONE. |
error_result |
RECORD |
פרטים של שגיאות כאובייקטים מסוג ErrorProto. |
job_creation_reason.code |
STRING |
מציין את הסיבה ברמה גבוהה ליצירת משימה. הערכים האפשריים:
|
job_id |
STRING |
המזהה של המשרה אם היא נוצרה. אחרת, מזהה השאילתה של שאילתה שמשתמשת במצב יצירה אופציונלי של משימות. לדוגמה, bquxjob_1234. |
job_stages |
RECORD REPEATED |
שלבי שאילתה של המשרה.
הערה: הערכים בעמודה הזו ריקים בשאילתות שקוראות מטבלאות עם מדיניות גישה ברמת השורה. מידע נוסף על שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery זמין במאמר שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery. |
job_type |
STRING |
סוג המשרה. הערכים האפשריים הם QUERY, LOAD, EXTRACT, COPY או NULL. ערך של NULL מציין משימה שמתבצעת ברקע.
|
labels |
RECORD |
מערך של תוויות שמוחלות על העבודה כצמדי מפתח/ערך. |
parent_job_id |
STRING |
המזהה של עבודת ההורה, אם יש כזו. |
priority |
STRING |
העדיפות של המשימה הזו. הערכים התקפים כוללים INTERACTIVE ו-BATCH. |
project_id |
STRING |
(Clustering column) מזהה הפרויקט. |
project_number |
INTEGER |
מספר הפרויקט. |
query |
STRING |
טקסט של שאילתת SQL. |
referenced_tables |
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 |
מהדורת Google Workspace שמשויכת להזמנה שהוקצתה למשרה הזו. מידע נוסף על מהדורות זמין במאמר מבוא למהדורות של BigQuery. |
session_info |
RECORD |
פרטים על הסשן שבו המשימה הזו הופעלה, אם יש. |
start_time |
TIMESTAMP |
שעת ההתחלה של העבודה הזו, במילי-שניות מאז תחילת התקופה של זמן מערכת. השדה הזה מייצג את הזמן שבו העבודה עוברת מהסטטוס PENDING לסטטוס RUNNING או DONE. |
state |
STRING |
מצב ההפעלה של העבודה. מדינות תקפות כוללות PENDING, RUNNING ו-DONE.
|
statement_type |
STRING |
סוג הצהרת השאילתה. לדוגמה, DELETE, INSERT, SCRIPT, SELECT או UPDATE. רשימת הערכים התקינים מופיעה בקטע QueryStatementType.
|
timeline |
RECORD |
ציר הזמן של השאילתה של העבודה. מכיל תמונות מצב של ביצוע שאילתות. |
total_bytes_billed |
INTEGER |
אם הפרויקט מוגדר לשימוש בתמחור לפי דרישה, השדה הזה מכיל את סך הבייטים שחויבו על העבודה. אם הפרויקט מוגדר לשימוש בתמחור לפי תעריף קבוע, לא מחויבים על בייטים והשדה הזה הוא רק לצורכי מידע.
הערה: הערכים בעמודה הזו ריקים בשאילתות שקוראות מטבלאות עם מדיניות גישה ברמת השורה. מידע נוסף על שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery זמין במאמר שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery. |
total_bytes_processed |
INTEGER |
המספר הכולל של בייטים שעובדו על ידי הג'וב. הערה: הערכים בעמודה הזו ריקים בשאילתות שקוראות מטבלאות עם מדיניות גישה ברמת השורה. מידע נוסף על שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery זמין במאמר שיטות מומלצות לאבטחה ברמת השורה ב-BigQuery. |
total_modified_partitions |
INTEGER |
המספר הכולל של המחיצות שהעבודה שינתה. השדה הזה מאוכלס עבור משרות LOAD וQUERY.
|
total_slot_ms |
INTEGER |
משבצת זמן באלפיות שנייה למשימה במהלך כל משך הזמן שלה במצב RUNNING, כולל ניסיונות חוזרים. |
total_services_sku_slot_ms |
INTEGER |
המספר הכולל של אלפיות שנייה של משבצות זמן למשימה שמופעלת בשירותים חיצוניים ושמחויבת לפי המק"ט של השירותים. השדה הזה מאוכלס רק עבור משימות שיש להן עלויות שירות חיצוניות, והוא מייצג את סך השימוש בעלויות ששיטת החיוב שלהן היא "SERVICES_SKU". |
transaction_id |
STRING |
המזהה של העסקה שבה המשימה הזו הופעלה, אם יש כזו. |
user_email |
STRING |
(Clustering column) כתובת האימייל או חשבון השירות של המשתמש שביצע את העבודה. |
principal_subject |
STRING |
ייצוג מחרוזת של הזהות של הגורם הראשי שהפעיל את העבודה. |
query_info.resource_warning |
STRING |
הודעת האזהרה שמופיעה אם השימוש במשאבים במהלך עיבוד השאילתה חורג מהסף הפנימי של המערכת. אם עבודת השאילתה הושלמה בהצלחה, השדה resource_warning יאוכלס. החל מ-resource_warning, תקבלו נקודות נתונים נוספות כדי לבצע אופטימיזציה של השאילתות ולהגדיר מעקב אחר מגמות הביצועים של קבוצת שאילתות מקבילה באמצעות query_hashes.
|
query_info.query_hashes.normalized_literals |
STRING |
מכיל את ערך הגיבוב של השאילתה. normalized_literals הוא גיבוב הקסדצימלי שמתעלם מהערות, מערכי פרמטרים, מפונקציות מוגדרות על ידי המשתמש וממילוליים.STRING
ערך הגיבוב יהיה שונה אם התצוגות הבסיסיות ישתנו, או אם השאילתה מפנה באופן מרומז לעמודות, כמו SELECT *, וסכימת הטבלה משתנה.
השדה הזה מופיע בשאילתות GoogleSQL שבוצעו בהצלחה ולא נמצאו במטמון. |
query_info.performance_insights |
RECORD |
תובנות לגבי הביצועים של המשימה. |
transferred_bytes |
INTEGER |
סך הבייטים שהועברו לשאילתות BigQuery Omni, כמו משימות העברה של BigQuery Omni. |
materialized_view_statistics |
RECORD |
נתונים סטטיסטיים של תצוגות חומריות שנלקחים בחשבון בעבודת שאילתה. (תצוגה מקדימה) |
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 |
מערך של מידע על עלויות השירות החיצוני עבור עבודת שאילתה. |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
שמירת נתונים
בתצוגה הזו מוצגות משימות שפועלות, יחד עם היסטוריית המשימות מ-180 הימים האחרונים.
אם פרויקט מועבר לארגון (ממצב שבו הוא לא היה שייך לארגון או מארגון אחר), לא ניתן לגשת לפרטי המשימות שנוצרו לפני תאריך ההעברה דרך התצוגה INFORMATION_SCHEMA.JOBS_BY_USER, כי התצוגה שומרת רק נתונים שנוצרו החל מתאריך ההעברה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו חייבות לכלול מסנן אזור. בטבלה הבאה מוסבר היקף האזור בתצוגה הזו:
| שם התצוגה | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_BY_USER |
משימות שנשלחו על ידי המשתמש הנוכחי בפרויקט שצוין. | REGION |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
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';
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+--------------+---------------------------+---------------------------------+ | 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 | +--------------+---------------------------+---------------------------------+