מבוא ל-INFORMATION_SCHEMA
תצוגות מפורטות של BigQuery INFORMATION_SCHEMA מאפשרות לכם לאחזר מטא-נתונים על האובייקטים שלכם ב-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שאילתות עם מסנני אזורים עשויות לכלול מטא-נתונים ממקורות באותו אזור ממערכי נתונים שנמחקו ונמצאים בחלון הזמן שלכם.- כשמציגים רשימה של משאבים מתצוגה מסוג
INFORMATION_SCHEMA, ההרשאות נבדקות רק ברמת ההורה ולא ברמה של שורה בודדת. לכן, המערכת מתעלמת מכל מדיניות דחייה (בתצוגה מקדימה) שמטרגטת שורה ספציפית באמצעות תגים באופן מותנה.