תצוגה של 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 |
(עמודת חלוקה למחיצות (partitioning)) מועד היצירה של העבודה הזו. החלוקה למחיצות מבוססת על זמן 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. |
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 |
שלבי שאילתה של המשרה.
הערה: הערכים בעמודה הזו ריקים בשאילתות שקוראות מטבלאות עם מדיניות גישה ברמת השורה. מידע נוסף זמין במאמר בנושא שיטות מומלצות לאבטחה ברמת השורה ב-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 |
מספר הפרויקט. |
referenced_tables |
RECORD |
מערך של ערכי STRUCT שמכילים את השדות הבאים של STRING לכל טבלה שהשאילתה מפנה אליה: project_id, dataset_id ו-table_id. השדה הזה מאוכלס רק עבור משימות של שאילתות שלא נמצאות במטמון.
|
reservation_id |
STRING |
שם ההזמנה הראשית שהוקצתה לעבודה הזו, בפורמט RESERVATION_ADMIN_PROJECT:RESERVATION_LOCATION.RESERVATION_NAME.בפלט הזה:
|
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. |
total_bytes_processed |
INTEGER |
המספר הכולל של בייטים שעובדו על ידי העבודה. הערה: הערכים בעמודה הזו ריקים בשאילתות שקוראות מטבלאות עם מדיניות גישה ברמת השורה. מידע נוסף זמין במאמר בנושא שיטות מומלצות לאבטחה ברמת השורה ב-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 |
תובנות לגבי הביצועים של המשימה. |
query_info.optimization_details |
STRUCT |
אופטימיזציות מבוססות-היסטוריה של המשרה. העמודה הזו מופיעה רק בתצוגה JOBS_BY_PROJECT.
|
transferred_bytes |
INTEGER |
המספר הכולל של בייטים שהועברו בשאילתות בין עננים, כמו משימות העברה בין עננים ב-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 |
נתונים סטטיסטיים של שאילתת חיפוש וקטורי. |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (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';
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+--------------+---------------------------+---------------------------------+ | 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 | +--------------+---------------------------+---------------------------------+