תצוגת 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, הערך הוא רשומה עם השדות הבאים:
  • ‫inserted_row_count: מספר השורות שהוכנסו.
  • ‫deleted_row_count: מספר השורות שנמחקו.
  • ‫updated_row_count: מספר השורות שעודכנו.
לכל שאר המשרות, הערך הוא 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 מציין את הסיבה ברמה גבוהה ליצירת המשימה.
הערכים האפשריים:
  • ‫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 מערך של תוויות שמוחלות על העבודה כצמדי מפתח/ערך.
object_storage_stats RECORD REPEATED נתונים סטטיסטיים לגבי השימוש באחסון אובייקטים ובשמירת נתונים במטמון עבור משימת שאילתה. הערך הוא רשומה חוזרת עם השדות הבאים:
  • cloud_provider: ספק שירותי הענן שבו מתארח אחסון האובייקטים (לדוגמה, AWS).
  • ‫object_storage_bytes_read: המספר הכולל של הבייטים שנקראו ישירות מאחסון האובייקטים.
  • ‫cache_bytes_read: המספר הכולל של הבייטים שנקראו מהמטמון.
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_ADMIN_PROJECT: השם של הפרויקט בענן של Google שבו מנוהלת ההזמנה
  • ‫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. ניב השאילתה שמשמש לעבודה. הערכים התקפים כוללים:
  • ‫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 מערך של מידע על עלויות השירות החיצוני עבור עבודת שאילתה.
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                        |
+--------------+---------------------------+---------------------------------+