מבוא ל-INFORMATION_SCHEMA
תצוגות INFORMATION_SCHEMA ב-BigQuery מאפשרות לאחזר מטא-נתונים על אובייקטים ב-BigQuery. אתם יכולים להריץ שאילתות בתצוגות האלה לקריאה בלבד שהוגדרו על ידי המערכת כדי לנתח משאבים כמו מערכי נתונים, משימות ובקרת גישה.
ב-BigQuery, מריצים שאילתות על INFORMATION_SCHEMA תצוגות באמצעות GoogleSQL על ידי ציון היקף ותצוגה. לדוגמה, כדי לקבל מטא-נתונים של טבלאות במערך נתונים, מציינים myDataset.INFORMATION_SCHEMA.TABLES.
בטבלה הבאה מפורטות התצוגות הזמינות:
† בתצוגות *BY_PROJECT, הסיומת BY_PROJECT היא אופציונלית. לדוגמה, שאילתות לגבי INFORMATION_SCHEMA.JOBS_BY_PROJECT ו-INFORMATION_SCHEMA.JOBS מחזירות את אותן תוצאות.
תמחור
בפרויקטים שבהם התמחור הוא על פי דרישה, שאילתות שמופעלות על תצוגות INFORMATION_SCHEMAמחייבות עלות עיבוד נתונים של 10 MB לפחות, גם אם מספר הבייטים שעובדו על ידי השאילתה קטן מ-10 MB. הסכום המינימלי לחיוב על שאילתות לפי דרישה הוא 10 MB. מידע נוסף זמין במאמר בנושא תמחור על פי דרישה.
בפרויקטים שבהם משתמשים בתמחור לפי קיבולת, שאילתות שמופעלות על תצוגות וטבלאות INFORMATION_SCHEMAצורכות את משבצות BigQuery שרכשתם. מידע נוסף זמין במאמר בנושא תמחור לפי נפח.
מכיוון ששאילתות INFORMATION_SCHEMA לא נשמרות במטמון, אתם מחויבים בכל פעם שאתם מריצים שאילתת INFORMATION_SCHEMA, גם אם טקסט השאילתה זהה בכל פעם שאתם מריצים אותה.
לא נחייב אתכם על אחסון של INFORMATION_SCHEMA צפיות.
תחביר
צריך לציין מערך נתונים או אזור כדי להגדיר תצוגה מסוג INFORMATION_SCHEMA.
מאפיין ההתאמה של קבוצת הנתונים
כשמציינים מסנן של מערך נתונים, התוצאות מוגבלות למערך הנתונים שצוין. לדוגמה:
-- Returns metadata for tables in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.TABLES;
התצוגות הבאות של INFORMATION_SCHEMA תומכות במאפייני מערך נתונים:
COLUMNSCOLUMN_FIELD_PATHSMATERIALIZED_VIEWSPARAMETERSPARTITIONSROUTINESROUTINE_OPTIONSTABLESTABLE_OPTIONSVIEWS
תוחם אזור
מייצגים מסנני אזור באמצעות תחביר region-REGION.
אפשר להשתמש בכל שם של מיקום מערך נתונים בשביל REGION. לדוגמה, אלה מוספי אזור תקינים:
region-usregion-asia-east2region-europe-north1
אם יש מציין אזור, התוצאות מוגבלות למיקום שצוין.
הסיווגים לפי אזור לא היררכיים, כלומר האזור הגיאוגרפי הנרחב באיחוד האירופי לא כולל את האזורים europe-*, והאזור הגיאוגרפי הנרחב בארה"ב לא כולל את האזורים us-*. לדוגמה, השאילתה הבאה מחזירה מטא-נתונים של כל מערכי הנתונים באזור US מרובה האזורים של הפרויקט שבו השאילתה מופעלת, אבל היא לא כוללת מערכי נתונים באזור us-west1:
-- Returns metadata for all datasets in the US multi-region. SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;
בתצוגות הבאות של INFORMATION_SCHEMA אין תמיכה במגדירי אזור:
INFORMATION_SCHEMA.PARTITIONSINFORMATION_SCHEMA.SEARCH_INDEXESINFORMATION_SCHEMA.SEARCH_INDEX_COLUMNSINFORMATION_SCHEMA.SEARCH_INDEX_OPTIONS
אם לא מציינים מסנן אזור או מסנן מערך נתונים, תוצג שגיאה.
שאילתות שמופעלות על תצוגה עם אזור מוגדר INFORMATION_SCHEMA מופעלות באזור שאתם מציינים, ולכן אי אפשר לכתוב שאילתה אחת שתאחד נתונים מתצוגות באזורים שונים. כדי לשלב תצוגות של INFORMATION_SCHEMA מכמה אזורים, קוראים את תוצאות השאילתה ומשלבים אותן באופן מקומי, או מעתיקים את הטבלאות שמתקבלות לאזור משותף.
מאפיין הפרויקט
אם מציינים פרויקט, התוצאות מוגבלות לפרויקט שצוין. לדוגמה:
-- Returns metadata for the specified project and region.
SELECT * FROM myProject.`region-us`.INFORMATION_SCHEMA.TABLES;
-- Returns metadata for the specified project and dataset.
SELECT * FROM myProject.myDataset.INFORMATION_SCHEMA.TABLES;
כל התצוגות של INFORMATION_SCHEMA תומכות במאפייני פרויקט. אם לא מציינים מזהה פרויקט, התצוגה תהיה כברירת מחדל הפרויקט שבו מתבצעת השאילתה.
ציון מסנן פרויקט לתצוגות ברמת הארגון (לדוגמה, STREAMING_TIMELINE_BY_ORGANIZATION) לא משפיע על התוצאות.
מגבלות
- שאילתות BigQuery
INFORMATION_SCHEMAצריכות להיות בתחביר של GoogleSQL. INFORMATION_SCHEMAלא תומך ב-SQL מדור קודם. - תוצאות של שאילתות
INFORMATION_SCHEMAלא נשמרות במטמון. - אי אפשר להשתמש ב-
INFORMATION_SCHEMAתצוגות בהצהרות DDL. - תצוגות
INFORMATION_SCHEMAלא מכילות מידע על קבוצות נתונים מוסתרות. INFORMATION_SCHEMAשאילתות עם מסנני אזורים עשויות לכלול מטא-נתונים ממקורות באותו אזור ממערכי נתונים שנמחקו ונמצאים בחלון הזמן שלכם לשימוש בתכונה Time Travel.- כשמציגים רשימה של משאבים מתצוגה של
INFORMATION_SCHEMA, ההרשאות נבדקות רק ברמת ההורה, ולא ברמת השורה הבודדת. לכן, המערכת מתעלמת מכל מדיניות דחייה (בתצוגה מקדימה) שמכוונת באופן מותנה לשורה ספציפית באמצעות תגים.
המאמרים הבאים
- קבלת מידע על טבלה
- צפייה במטא-נתונים של טבלה שמנוהלת על ידי Iceberg
- הצגת סכימות של גרפים
- מעקב אחרי משימות
- פתרון בעיות באמצעות סכימת מידע