שילוב עם 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 שמנוהלים על ידי הלקוח.
איך השילוב פועל
השילוב של Knowledge Catalog מבוסס על כלי הסנכרון cortex-kc-sync (tools.dataplex.kc_sync). כשמריצים את הכלי לסנכרון, הוא מבצע את תהליך העבודה הרב-שלבי הבא:
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 Editor (
roles/dataplex.editor) - הכלי לעריכת מוצרי נתונים ב-Dataplex (
roles/dataplex.dataProductsEditor) - בעלים של רשומת Dataplex (
roles/dataplex.entryOwner) - BigQuery Metadata Viewer (
roles/bigquery.metadataViewer) - BigQuery Data Viewer (
roles/bigquery.dataViewer)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה 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:
- Build and deploy: מריצים את הפקודה
cortex-deploy(uv run cortex-deploy --config config/config.yaml) כדי לקמפל ולבצע staging של ההגדרות ב-Dataform. - הפעלת טרנספורמציות: הפעלת הרצות של Dataform כדי ליצור שכבות של נתוני בסיס וטבלאות דיווח תואמות ב-BigQuery.
- סנכרון קטלוג: מריצים את הפקודה
cortex-kc-sync(uv run cortex-kc-sync --config config/config.yaml) כדי לוודא שהטבלה נוצרה ולסנכרן את כל מוצרי הנתונים המעודכנים, התיאורים וקישורי שושלת הנתונים ישירות אל Knowledge Catalog.
השלבים הבאים
- יצירת מוצרי נתונים בהתאמה אישית: במאמר מדריך ליכולת הרחבה: יצירת מודול של מוצר נתונים מוסבר איך ליצור מוצרי נתונים חדשים או להרחיב סכימות.