תצוגת JOBS_BY_FOLDER
בתצוגה INFORMATION_SCHEMA.JOBS_BY_FOLDER מופיעים מטא-נתונים שמתעדכנים כמעט בזמן אמת לגבי כל העבודות שנשלחו בתיקיית ההורה של הפרויקט הנוכחי, כולל העבודות בתיקיות המשנה שמתחתיה.
התפקיד הנדרש
כדי לקבל את ההרשאה שנדרשת לשליחת שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_BY_FOLDER, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM BigQuery Resource Viewer (roles/bigquery.resourceViewer) בתיקיית האב.
להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה bigquery.jobs.listAll, שנדרשת כדי לשלוח שאילתות לתצוגה INFORMATION_SCHEMA.JOBS_BY_FOLDER.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.
סכימה
נתוני הבסיס מחולקים למחיצות לפי העמודה creation_time ומקובצים לפי project_id ו-user_email. העמודה query_info מכילה מידע נוסף על עבודות השאילתה.
לתצוגה INFORMATION_SCHEMA.JOBS_BY_FOLDER יש את הסכימה הבאה:
| שם העמודה | סוג הנתונים | ערך |
|---|---|---|
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 |
זמן הסיום של העבודה הזו, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch). השדה הזה מייצג את השעה שבה העבודה נכנסת למצב DONE. |
error_result |
RECORD |
פרטים של שגיאות כאובייקטים מסוג ErrorProto. |
folder_numbers |
REPEATED INTEGER |
מזהי מספרים של תיקיות שמכילות את הפרויקט, החל מהתיקייה שמכילה ישירות את הפרויקט, ואחריה התיקייה שמכילה את תיקיית הצאצא, וכן הלאה.
לדוגמה, אם folder_numbers הוא [1, 2, 3], אז התיקייה 1 מכילה מיד את הפרויקט, התיקייה 2 מכילה את 1 והתיקייה 3 מכילה את 2. העמודה הזו מאוכלסת רק ב-JOBS_BY_FOLDER.
|
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 |
מערך של תוויות שמוחלות על העבודה כצמדי מפתח/ערך. |
object_storage_stats |
RECORD REPEATED |
נתונים סטטיסטיים לגבי השימוש באחסון אובייקטים ובשמירת נתונים במטמון עבור משימת שאילתה.
הערך הוא רשומה חוזרת עם השדות הבאים:
|
parent_job_id |
STRING |
המזהה של עבודת ההורה, אם יש כזו. |
priority |
STRING |
העדיפות של המשימה הזו. הערכים התקפים כוללים INTERACTIVE ו-BATCH. |
project_id |
STRING |
(Clustering column) מזהה הפרויקט. |
project_number |
INTEGER |
מספר הפרויקט. |
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 |
המהדורה שמשויכת להזמנה שהוקצתה לעבודה הזו. מידע נוסף על מהדורות זמין במאמר מבוא למהדורות של 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 |
מכיל את ערך ה-hash של השאילתה. 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 |
מערך של מידע על עלויות השירות החיצוני עבור עבודת שאילתה. |
ml_statistics.model_type |
STRING |
אם העבודה היא שאילתה ליצירת מודל של BigQuery ML, השדה הזה מציין את סוג המודל שנוצר. לכל שאר המשרות, הערך הוא NULL.
|
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
שמירת נתונים
בתצוגה הזו מוצגות משימות שפועלות, יחד עם היסטוריית המשימות מ-180 הימים האחרונים.
אם פרויקט מועבר לארגון (ממצב שבו הוא לא היה שייך לארגון או מארגון אחר), לא ניתן לגשת לפרטי המשימות שנוצרו לפני תאריך ההעברה דרך התצוגה INFORMATION_SCHEMA.JOBS_BY_FOLDER, כי התצוגה שומרת רק נתונים שנוצרו החל מתאריך ההעברה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו חייבות לכלול מסנן אזור. בטבלה הבאה מוסבר היקף האזור בתצוגה הזו:
| שם התצוגה | היקף המשאב | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_BY_FOLDER |
התיקייה שמכילה את הפרויקט שצוין | REGION |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור במערך נתונים. לדוגמה,`region-us`.
דוגמאות
כדי להריץ את השאילתה בפרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט בפורמט הבא:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_FOLDER
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
REGION_NAME: האזור של הפרויקט
לדוגמה, `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_FOLDER.
הצגת משרות אינטראקטיביות
השאילתה הבאה מציגה את מזהה העבודה, זמן היצירה והמצב (PENDING, RUNNING או DONE) של כל העבודות האינטראקטיביות בתיקייה של הפרויקט שצוין:
SELECT job_id, creation_time, state FROM `region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_FOLDER WHERE priority = 'INTERACTIVE';
התוצאה אמורה להיראות כך:
+--------------+---------------------------+---------------------------------+ | job_id | creation_time | state | +--------------+---------------------------+---------------------------------+ | bquxjob_1 | 2019-10-10 00:00:00 UTC | DONE | | bquxjob_4 | 2019-10-10 00:00:03 UTC | RUNNING | | bquxjob_5 | 2019-10-10 00:00:04 UTC | PENDING | +--------------+---------------------------+---------------------------------+