התצוגה 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, הערך הוא רשומה עם השדות הבאים:
  • inserted_row_count: מספר השורות שהוכנסו.
  • deleted_row_count: מספר השורות שנמחקו.
  • updated_row_count: מספר השורות שעודכנו.
לכל שאר המשרות, הערך הוא NULL.
העמודה הזו מופיעה בתצוגות INFORMATION_SCHEMA.JOBS_BY_USER ו-INFORMATION_SCHEMA.JOBS_BY_PROJECT.
end_time TIMESTAMP שעת הסיום של העבודה הזו, באלפיות השנייה מאז תקופת הזמן. השדה הזה מייצג את הזמן שבו העבודה נכנסת למצב DONE.
error_result RECORD פרטים של שגיאות כאובייקטים מסוג ErrorProto.
job_creation_reason.code STRING מציין את הסיבה ברמה גבוהה ליצירת משימה.
הערכים האפשריים:
  • REQUESTED: נשלחה בקשה ליצירת משימה.
  • LONG_RUNNING: שאילתת הבקשה פעלה מעבר לזמן קצוב מוגדר במערכת שצוין בשדה timeoutMs ב-QueryRequest. לכן היא נחשבה לפעולה ממושכת, ונוצרה בשבילה משימה.
  • LARGE_RESULTS: התוצאות מהשאילתה לא יכולות להיכנס לתגובה בשורה.
  • OTHER: המערכת קבעה שצריך להריץ את השאילתה כמשימה.
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_ADMIN_PROJECT: השם של הפרויקט ב-Google Cloud שבו מנוהלת ההזמנה
  • 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. ניב השאילתה שמשמש לעבודה. הערכים התקפים כוללים:
  • GOOGLE_SQL: נשלחה בקשה לעבודה עם GoogleSQL.
  • LEGACY_SQL: הבקשה להפעלת העבודה הייתה להשתמש ב-LegacySQL.
  • DEFAULT_LEGACY_SQL: לא צוין ניב של שאילתה בבקשה להפעלת המשימה. המערכת של BigQuery השתמשה בערך ברירת המחדל של LegacySQL.
  • DEFAULT_GOOGLE_SQL: לא צוין ניב של שאילתה בבקשה להפעלת המשימה. ב-BigQuery נעשה שימוש בערך ברירת המחדל של GoogleSQL.

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

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

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 |
+--------------+---------------------------+---------------------------------+