התצוגה JOBS_BY_ORGANIZATION
התצוגה INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION מכילה מטא-נתונים כמעט בזמן אמת על כל המשימות שנשלחו בארגון שמשויך לפרויקט הנוכחי.
התפקיד הנדרש
כדי לקבל את ההרשאה שדרושה לשליחת שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION, אתם צריכים לבקש מהאדמין לתת לכם את התפקיד BigQuery Resource Viewer (roles/bigquery.resourceViewer) ב-IAM ברמת הארגון.
להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה bigquery.jobs.listAll, שנדרשת כדי לשלוח שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.
טבלת הסכימה זמינה רק למשתמשים שהוגדרו להם ארגונים ב- Google Cloud.
במאמר בקרת גישה באמצעות IAM תוכלו לקרוא מידע נוסף על ההרשאות ב-BigQuery.
סכימה
הנתונים הבסיסיים מחולקים למחיצות לפי העמודה creation_time ומקובצים לפי project_id ו-user_email. העמודה query_info מכילה מידע נוסף על משימות השאילתה.
הסכימה של התצוגה INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION היא:
| שם העמודה | סוג הנתונים | ערך |
|---|---|---|
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 |
טבלת היעד לתוצאות, אם יש כאלה. |
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 |
מספר הפרויקט. |
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_ORGANIZATION, כי התצוגה שומרת רק נתונים שנוצרו החל מתאריך ההעברה.
היקף ותחביר
שאילתות בתצוגה הזו חייבות לכלול מזהה אזור. בטבלה הבאה מוסבר היקף האזור של התצוגה הזו:
| הצגת השם | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION |
הארגון שמכיל את הפרויקט שצוין | REGION |
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud (אופציונלי). אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור של מערך נתונים. לדוגמה,`region-us`.
מגבלות
התצוגה INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION כוללת משימות שמופעלות על ידי פרויקטים ששייכים לארגון הנוכחי. משימות שמופעלות על ידי פרויקטים מארגונים אחרים לא זמינות בתצוגה הזו, גם אם המשימות האלה ניגשות למשאבים בארגון הנוכחי, כמו מערכי נתונים משותפים. לדוגמה, אם אתם משתפים קבוצת נתונים עם פרויקט מארגון אחר, כל המשימות שהפרויקט מריץ כדי לגשת לנתונים בקבוצת הנתונים לא נכללות בתצוגה הזו.
דוגמאות
כדי להריץ את השאילתה בפרויקט אחר, ולא בפרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט בפורמט הבא:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
-
PROJECT_ID: מזהה הפרויקט -
REGION_NAME: האזור של הפרויקט
לדוגמה, `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION.
חיפוש חמשת המשימות שסרקו הכי הרבה בייטים היום
בדוגמה הבאה מוסבר איך למצוא את חמשת המשימות שסרקו הכי הרבה בייטים בארגון ביום הנוכחי. אפשר לסנן עוד יותר לפי statement_type כדי לשלוח שאילתות לקבלת מידע נוסף, כמו טעינות, ייצוא ושאילתות.
SELECT job_id, user_email, total_bytes_billed FROM `region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION WHERE EXTRACT(DATE FROM creation_time) = current_date() ORDER BY total_bytes_billed DESC LIMIT 5;
התוצאה אמורה להיראות כך:
+--------------+--------------+---------------------------+ | job_id | user_email | total_bytes_billed | +--------------+--------------+---------------------------+ | bquxjob_1 | abc@xyz.com | 999999 | | bquxjob_2 | def@xyz.com | 888888 | | bquxjob_3 | ghi@xyz.com | 777777 | +--------------+--------------+---------------------------+
סיכום השימוש בגיליונות מקושרים לפי משתמש ברמת הארגון
השאילתה הבאה מספקת סיכום של המשתמשים המובילים בגיליונות מקושרים בארגון שלכם ב-30 הימים האחרונים, לפי סך הנתונים שחויבו. השאילתה צוברת את המספר הכולל של השאילתות, את מספר הבייטים הכולל לחיוב ואת מספר אלפיות השנייה הכולל של ה-slot לכל משתמש. המידע הזה שימושי כדי להבין את השימוש ולזהות את הצרכנים העיקריים של המשאבים.
SELECT
user_email,
COUNT(*) AS total_queries,
SUM(total_bytes_billed) AS total_bytes_billed,
SUM(total_slot_ms) AS total_slot_ms
FROM
`region-REGION_NAME.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION`
WHERE
-- Filter for jobs created in the last 30 days
creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
-- Filter for jobs originating from Connected Sheets
AND job_id LIKE 'sheets_dataconnector%'
-- Filter for completed jobs
AND state = 'DONE'
AND (statement_type IS NULL OR statement_type <> 'SCRIPT')
GROUP BY
1
ORDER BY
total_bytes_billed DESC;
מחליפים את REGION_NAME באזור של הפרויקט.
לדוגמה, region-us.
התוצאה אמורה להיראות כך:
+---------------------+---------------+--------------------+-----------------+ | user_email | total_queries | total_bytes_billed | total_slot_ms | +---------------------+---------------+--------------------+-----------------+ | alice@example.com | 152 | 12000000000 | 3500000 | | bob@example.com | 45 | 8500000000 | 2100000 | | charles@example.com | 210 | 1100000000 | 1800000 | +---------------------+---------------+--------------------+-----------------+
איך מוצאים יומני משימות של שאילתות בגיליונות מקושרים ברמת הארגון
השאילתה הבאה מספקת יומן מפורט של כל משימה בנפרד שהופעלה על ידי גיליונות מקושרים. המידע הזה שימושי לביקורת ולזיהוי שאילתות ספציפיות בעלות גבוהה.
SELECT
job_id,
creation_time,
user_email,
project_id,
total_bytes_billed,
total_slot_ms
FROM
`region-REGION_NAME.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION`
WHERE
creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
AND job_id LIKE 'sheets_dataconnector%'
AND state = 'DONE'
AND (statement_type IS NULL OR statement_type <> 'SCRIPT')
ORDER BY
creation_time DESC;
מחליפים את REGION_NAME באזור של הפרויקט.
לדוגמה, region-us.
התוצאה אמורה להיראות כך:
+---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+ | job_id | creation_time | user_email | project_id | total_bytes_billed | total_slot_ms | +---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+ | sheets_dataconnector_bquxjob_1 | 2025-11-06 00:26:53.077000 UTC | abc@example.com | my_project | 12000000000 | 3500000 | | sheets_dataconnector_bquxjob_2 | 2025-11-06 00:24:04.294000 UTC | xyz@example.com | my_project | 8500000000 | 2100000 | | sheets_dataconnector_bquxjob_3 | 2025-11-03 23:17:25.975000 UTC | bob@example.com | my_project | 1100000000 | 1800000 | +---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+