התצוגה INFORMATION_SCHEMA.RECOMMENDATIONS

כדי לשלוח משוב או לבקש תמיכה בנוגע לתכונה הזו, אפשר לשלוח אימייל לכתובת bq-recommendations+feedback@google.com.

התצוגה INFORMATION_SCHEMA.RECOMMENDATIONS מכילה נתונים על כל ההמלצות של BigQuery בפרויקט הנוכחי. מערכת BigQuery מאחזרת המלצות לכל כלי ההמלצות של BigQuery מ-Active Assist ומציגה אותן בתצוגה הזו.

בתצוגה INFORMATION_SCHEMA.RECOMMENDATIONS יש תמיכה בהמלצות הבאות:

בתצוגה INFORMATION_SCHEMA.RECOMMENDATIONS מוצגות רק המלצות שקשורות ל-BigQuery. אפשר לראות את ההמלצות ב-Active Assist. Google Cloud

ההרשאה הנדרשת

כדי לראות המלצות בתצוגה INFORMATION_SCHEMA.RECOMMENDATIONS, אתם צריכים את ההרשאות הנדרשות לשירות ההמלצות המתאים. בתצוגה INFORMATION_SCHEMA.RECOMMENDATIONS מוצגות רק המלצות שיש לכם הרשאת צפייה בלבד.

צריך לבקש מהאדמין גישה להצגת ההמלצות. כדי לראות את ההרשאות הנדרשות לכל שירות המלצות, אפשר לעיין במאמרים הבאים:

סכימה

לתצוגה INFORMATION_SCHEMA.RECOMMENDATIONS יש את הסכימה הבאה:

שם העמודה סוג נתונים ערך
recommendation_id STRING מזהה בקידוד Base64 שמכיל את RecommendationID ואת הממליץ.
recommender STRING סוג ההמלצה. לדוגמה, google.bigquery.table.PartitionClusterRecommender להמלצות על חלוקה למחיצות וקיבוץ לאשכולות.
subtype STRING סוג המשנה של ההמלצה.
project_id STRING מזהה הפרויקט.
project_number STRING מספר הפרויקט.
description STRING תיאור ההמלצה.
last_updated_time TIMESTAMP השדה הזה מייצג את הזמן שבו ההמלצה נוצרה לאחרונה.
target_resources STRING שמות מלאים של משאבים שההמלצה הזו מיועדת להם.
state STRING המצב של ההמלצה. רשימה של הערכים האפשריים מופיעה בקטע מצב.
primary_impact RECORD ההשפעה של ההמלצה הזו על האופטימיזציה של הקטגוריה הראשית. מכיל את השדות הבאים:
  • category: הקטגוריה שההמלצה הזו מנסה לבצע בה אופטימיזציה. רשימה של הערכים האפשריים מופיעה בקטע קטגוריה.
  • cost_projection: הערך הזה יכול להיות מאוכלס אם ההמלצה יכולה לחזות את החיסכון בעלויות כתוצאה מיישום ההמלצה. האפשרות הזו מוצגת רק כשהקטגוריה היא COST.
  • security_projection: יכול להיות שיופיע כשהקטגוריה היא SECURITY.
priority STRING העדיפות של ההמלצה. רשימה של הערכים האפשריים מופיעה בקטע עדיפות.
associated_insight_ids STRING השמות המלאים של התובנות שמשויכות להמלצה.שם התובנה הוא ייצוג בקידוד Base64 של שם סוג התובנה ומזהה התובנה. אפשר להשתמש בפרמטר הזה כדי לשלוח שאילתה לתצוגת התובנות.
additional_details RECORD פרטים נוספים על ההמלצה.
  • overview: סקירה כללית של ההמלצה בפורמט JSON. התוכן של השדה הזה עשוי להשתנות בהתאם למערכת ההמלצות.
  • state_metadata: מטא-נתונים על מצב ההמלצה בזוגות של מפתח/ערך.
  • operations: רשימת הפעולות שהמשתמש יכול לבצע במשאבי היעד. השדה הזה מכיל את השדות הבאים:
    • action: סוג הפעולה שהמשתמש צריך לבצע. יכול להיות שהמערכת תגדיר את הערך הזה כטקסט חופשי בזמן יצירת ההמלצה. תמיד יאוכלס.
    • resource_type: סוג משאב הענן.
    • resource: שם המשאב המוגדר במלואו.
    • path: הנתיב של שדה היעד ביחס למשאב.
    • value: הערך של שדה הנתיב.

כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.

היקף ותחביר

שאילתות שמופעלות על התצוגה הזו חייבות לכלול מסנן אזור. מזהה הפרויקט הוא אופציונלי. אם לא מציינים מזהה פרויקט, נעשה שימוש בפרויקט שבו מופעלת השאילתה.

שם התצוגה היקף המשאבים היקף האזור
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.RECOMMENDATIONS[_BY_PROJECT] ברמת הפרויקט REGION
מחליפים את מה שכתוב בשדות הבאים:
  • אופציונלי: PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
  • REGION: כל שם של אזור במערך נתונים. לדוגמה, `region-us`.

דוגמה

כדי להריץ את השאילתה בפרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט בפורמט הבא:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.RECOMMENDATIONS
מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט
  • REGION_NAME: האזור של הפרויקט.

לדוגמה, `myproject`.`region-us`.INFORMATION_SCHEMA.RECOMMENDATIONS.

הצגת ההמלצות המובילות לחיסכון בעלויות

בדוגמה הבאה מוצגות 3 COST המלצות לקטגוריות על סמך slot_hours_saved_monthly הצפוי:

SELECT
   recommender,
   target_resources,
   LAX_INT64(additional_details.overview.bytesSavedMonthly) / POW(1024, 3) as est_gb_saved_monthly,
   LAX_INT64(additional_details.overview.slotMsSavedMonthly) / (1000 * 3600) as slot_hours_saved_monthly,
  last_updated_time
FROM
  `region-us`.INFORMATION_SCHEMA.RECOMMENDATIONS_BY_PROJECT
WHERE
   primary_impact.category = 'COST'
AND
   state = 'ACTIVE'
ORDER by
   slot_hours_saved_monthly DESC
LIMIT 3;
INFORMATION_SCHEMA

התוצאה אמורה להיראות כך:

+---------------------------------------------------+--------------------------------------------------------------------------------------------------+
|                    recommender                    |   target_resources      | est_gb_saved_monthly | slot_hours_saved_monthly |  last_updated_time
+---------------------------------------------------+--------------------------------------------------------------------------------------------------+
| google.bigquery.materializedview.Recommender      | ["project_resource"]    | 140805.38289248943   |        9613.139166666666 |  2024-07-01 13:00:00
| google.bigquery.table.PartitionClusterRecommender | ["table_resource_1"]    | 4393.7416711859405   |        56.61476777777777 |  2024-07-01 13:00:00
| google.bigquery.table.PartitionClusterRecommender | ["table_resource_2"]    |   3934.07264107652   |       10.499466666666667 |  2024-07-01 13:00:00
+---------------------------------------------------+--------------------------------------------------------------------------------------------------+