שילוב עם Knowledge Catalog

במאמר הזה מוסבר איך Cortex Framework משתלב עם Knowledge Catalog, שמשמש כשכבת ניהול למוצרי נתונים ארגוניים בכל הארגון. בנוסף, מוסבר איך כלי הסנכרון של Knowledge Catalog ב-Google Cloud Cortex Framework עוזר לרשום ולסנכרן מוצרי נתונים של Google Cloud Cortex Framework עם Knowledge Catalog, וכך מפשט את האיתור והשיתוף המאובטח שלהם.

אם מפעילים את השילוב הזה, מוצרי הנתונים של Cortex Framework שנפרסו, כולל התיאורים העסקיים המועשרים שלהם, מטא-נתוני הבעלות ומערכי הנתונים והטבלאות הפיזיים הבסיסיים של BigQuery, מתועדים באופן אוטומטי וניתן לגלות אותם ב-Knowledge Catalog.

יתרונות מרכזיים

השילוב של Cortex Framework עם Knowledge Catalog מספק את היתרונות המרכזיים הבאים:

  • גילוי נתונים אוטומטי: משתמשים יכולים לעיין במוצרי נתונים ארגוניים סטנדרטיים ולחפש אותם ישירות בממשק המשתמש של Knowledge Catalog, בלי להזין אותם ידנית לקטלוג.
  • הקשר עסקי מועשר: ייבוא אוטומטי של שמות לתצוגה, תיאורים מפורטים של העסק וכתובות URL של מסמכים ישירות מקובצי manifest.yaml אל Knowledge Catalog.
  • קישור נכסים מאוחד: קישור ישיר של טבלאות בסיס מאוחדות של דוחות למוצרי הנתונים התואמים שלהן ב-Knowledge Catalog. כך צרכני הנתונים יכולים לראות באופן מיידי אילו אובייקטים פיזיים של נתונים מפעילים תחומים עסקיים ספציפיים.
  • התאמה אוטומטית של מחזור החיים ושל שינויים: ככל שהמודלים של נתוני הארגון מתפתחים, הפעלת כלי הסנכרון מתאימה אוטומטית את המטא-נתונים ואת הקישורים לנכסים. הוא רושם טבלאות חדשות, מעדכן הגדרות ששונו ומסיר קישורים שיצאו משימוש, תוך הגנה על פריטים בקטלוג שלא מנוהלים ונוצרו על ידי משתמשים.
  • בטיחות בניהול המערכת: המערכת משתמשת בתוויות מערכת ייעודיות (cortex-framework-created ו-cortex-framework-version) כדי לזהות ולנהל רק את המשאבים שנוצרו על ידי Cortex Framework, וכך למנוע החלפה לא מכוונת של נכסים קיימים ב-Knowledge Catalog שמנוהלים על ידי הלקוח.

איך השילוב פועל

‫Google Cloud Cortex Framework Soution key components

השילוב של Knowledge Catalog מבוסס על כלי הסנכרון cortex-kc-sync (tools.dataplex.kc_sync). כשמריצים את הכלי לסנכרון, הוא מבצע את תהליך העבודה הרב-שלבי הבא:

סנכרון של Google Cloud Cortex Framework עם Knowledge Catalog

1. הגדרה וחילוץ של קובץ המניפסט

הכלי לסנכרון מנתח את קובץ ההגדרות הגלובלי config/config.yaml כדי לזהות את כל המודולים של מוצרי הנתונים שמופעלים (data.modules.products) ואת מערכי הנתונים של BigQuery שהם מיועדים להם (data.targets).

לכל מודול מופעל, הכלי לסנכרון שולף מטא-נתונים תיאוריים מהמודול manifest.yaml (באמצעות ספק המודולים של Workspace):

  • displayName: שם קריא לאנשים של מוצר הנתונים.
  • description: סיכום העסק של המודול.
  • documentation: כתובת URL שמפנה לתיעוד של מודול פנימי או חיצוני.

2. גילוי נכסים ב-BigQuery

במקום לאמת רשימה סטטית של הגדרות טבלה, cortex-kc-sync שולח שאילתות ל-BigQuery ‏ (list_dataset_tables) כדי לגלות באופן דינמי אילו טבלאות ותצוגות כבר נפרסו במערך הנתונים של היעד.

הוא פותר ומסנן טבלאות על ידי חיפוש תוויות מעקב ספציפיות שהוחלו במהלך הפריסה:

  • cortex-framework-namespaced-module-type תואם לנתיב המודול המוגדר במלואו (לדוגמה, cortex.sap.products.sales_performance), או
  • cortex-framework-module-type שמתאים לשם הרשמי של סוג המודול (למשל, sales_performance).

רק טבלאות ותצוגות מגובות שנושאות את התוויות האלה ב-BigQuery יתווספו לקטלוג וייקשרו כנכסים למוצר הנתונים.

3. התאמה ותיוג של משאבים מנוהלים

הכלי לסנכרון מתקשר עם dataplex_v1 API‏ (DataProductClient) כדי לבצע התאמה בין כל מוצר נתונים שמתגלה במיקום היעד Google Cloud :

  • יצירה (NEEDS_CREATION): אם מוצר הנתונים לא קיים, הכלי לסנכרון יוצר מוצר נתונים חדש ב-Knowledge Catalog, מאכלס אותו במטא-נתונים של המניפסט שחולצו ומקשר את הנכסים ב-BigQuery שנפתרו. הוא מתייג את המשאב בשתי תוויות מערכת:

    • cortex-framework-created: מוגדר לערך "true"
    • cortex-framework-version: מוגדר לערך "7-0-0"
  • הגנה על משאבים לא מנוהלים (NOT_MANAGED): אם מוצר נתונים ב-Knowledge Catalog עם אותו מזהה כבר קיים בקטלוג אבל חסרות לו תוויות המערכת האלה (is_managed_data_product == False), הכלי לסנכרון מדלג עליו כדי להגן על נכסי קטלוג שנוצרו על ידי משתמשים או על נכסים קיימים בקטלוג.

  • עדכונים (NEEDS_UPDATE): אם קיים מוצר נתונים מנוהל ובוצעו שינויים במטא-נתונים או בהרכב הטבלה שלו, הכלי לסנכרון מעדכן את ההגדרה של מוצר הנתונים ב-Knowledge Catalog ומבצע התאמה בין הנכסים המקושרים שלו ב-BigQuery (BigQueryAssetLinks). הוא יוצר באופן אוטומטי DataAsset קישורים חדשים לטבלאות שנוספו ומוחק קישורים שיצאו משימוש, בלי לשנות את הקישורים הקיימים.

הגדרה וקביעת תצורה

בקטע הזה מפורטות הדרישות המוקדמות, הגדרת המטא-נתונים ושלבי ההפעלה שנדרשים כדי להגדיר ולהפעיל את הסנכרון בין Cortex Framework לבין Knowledge Catalog.

דרישות מוקדמות

לפני שמריצים את הסנכרון של Knowledge Catalog, צריך לוודא שמתקיימות הדרישות הבאות:

הפעלת Google Cloud שירותים

בקטע הזה נפעיל את השירותים הבאים של Google Cloud בפרויקטGoogle Cloud :

  • Cloud Dataplex API‏ (dataplex.googleapis.com)

מפעילים את השירות הזה Google Cloud באמצעות Cloud Shell על ידי הרצת הפקודה הבאה במסוף:

gcloud config set project PROJECT_ID

gcloud services enable dataplex.googleapis.com \
         --project=PROJECT_ID

תפקידים בפרויקט היעד

כדי לקבל את ההרשאה שנדרשת לסנכרון של Knowledge Catalog, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט היעד:

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

התפקיד המוגדר מראש הזה כולל את ההרשאה dataplex.dataProducts.create, dataplex.dataProducts.update, dataplex.dataAssets.create, dataplex.dataAssets.delete, שנדרשת כדי לסנכרן את Knowledge Catalog.

יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.

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

gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
        --role="roles/dataplex.editor"
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
        --role="roles/dataplex.dataProductsEditor"
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
        --role="roles/dataplex.entryOwner"
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
        --role="roles/bigquery.metadataViewer"
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_EMAIL" \
        --role="roles/bigquery.dataViewer"

צינור עיבוד נתונים שהופעל ב-Dataform

קודם צריך להריץ את cortex-build-and-deploy או cortex-deploy כמו שמתואר במדריך הפריסה ולהפעיל את הפעולות של צינור הנתונים ב-Dataform כדי ליצור את הטבלאות והתצוגות ב-BigQuery, ורק אז לנסות לבצע סנכרון עם Knowledge Catalog. הוראות מפורטות להפעלת טרנספורמציות מופיעות במאמר שלבים אחרי הפריסה.

הגדרת מטא-נתונים של מוצר נתונים

כדי להתאים אישית את המטא-נתונים העסקיים שמוצגים ב-Knowledge Catalog, צריך לשנות את הקובץ manifest.yaml שנמצא בכל ספרייה של מודול מוצר נתונים (לדוגמה, src/data_modules/cortex/sap/products/accounts_payable/manifest.yaml).

בדוגמה הבאה אפשר לראות איך מגדירים את displayName, ‏description ו-documentation במניפסט של מודול:

displayName: "SAP Accounts Payable"
description: >
  SAP Data Product for Accounts Payable containing conformed vendor invoices, 
  payment aging schedules, and financial accounting documents.
documentation: "https://docs.cloud.google.com/cortex/docs/data-product"

category: foundational_product
type: accounts_payable
dependencies:
  sapModule:
    supportedVersions:
      - ecc
      - s4
    tables:
      ecc:
        - bsik
        - bsak
      s4:
        - acdoca
        - bseg
      common:
        - bkpf
    modulePath: cortex.sap.foundations.sap
builder: sap_product

הרצת פקודת הסנכרון

אחרי שמוצרי הנתונים נפרסו והפכו למוחשיים ב-BigQuery, מריצים את כלי ה-CLI‏ cortex-kc-sync באמצעות uv:

uv run cortex-kc-sync --config config/config.yaml --owner-email USER_EMAIL

רשימה מלאה של הארגומנטים והדגלים הזמינים מופיעה במאמר בנושא סנכרון של KC באמצעות CLI ‏ (uv run cortex-kc-sync).

אימות של סנכרון Knowledge Catalog

כדי לוודא שהסנכרון בין הנכסים של Google Cloud Cortex Framework לבין Knowledge Catalog הצליח, מבצעים את השלבים הבאים:

  • במסוף Google Cloud , פותחים את Knowledge Catalog.
  • אופציונלי: בתיבת הדו-שיח של החיפוש, אפשר להשתמש באחד מהמסננים המהירים, כמו Data Products או Tables.
  • בשדה החיפוש של המסך הראשי של קטלוג הידע, לוחצים על Filters.
  • בתצוגה שנפתחת Filters, בוחרים בתפריט הנפתח Project את הפרויקט שבו אתם משתמשים כדי לסנכרן את מוצרי הנתונים של Google Cloud Cortex Framework.
  • אחרי שהסנכרון יסתיים בהצלחה, תוכלו לבחור או לחפש נכס נתונים שנחשף על ידי Google Cloud Cortex Framework, כולל כל המטא-נתונים שפורסמו.

אוטומציה של תהליך העבודה

בסביבות ייצור, מומלץ להריץ את cortex-kc-sync באופן אוטומטי כשלב עיבוד לאחר העיבוד בצינור הנתונים של תזמור ה-CI/CD או ב-DAG של Knowledge Catalog ‏ (Airflow) מיד אחרי הפעלה מוצלחת של צינור הנתונים של Dataform:

  1. Build and deploy: מריצים את הפקודה cortex-deploy (uv run cortex-deploy --config config/config.yaml) כדי לקמפל ולבצע staging של ההגדרות ב-Dataform.
  2. הפעלת טרנספורמציות: הפעלת הרצות של Dataform כדי ליצור שכבות של נתוני בסיס וטבלאות דיווח תואמות ב-BigQuery.
  3. סנכרון קטלוג: מריצים את הפקודה cortex-kc-sync (uv run cortex-kc-sync --config config/config.yaml) כדי לוודא שהטבלה נוצרה ולסנכרן את כל מוצרי הנתונים המעודכנים, התיאורים וקישורי שושלת הנתונים ישירות אל Knowledge Catalog.

השלבים הבאים