דוגמאות להגדרות פריסה
קובץ config/config.yaml – בדרך כלל מאותחל מתבנית config/config.yaml.example – משמש כהגדרה הראשית לפריסת Cortex Framework. הוא מגדיר פרמטרים קריטיים, כולל פרויקט הביצוע של היעד Google Cloud , מערכי הנתונים של BigQuery במקור וביעד, ומפרטים של Dataform כמו שמות המאגר וסביבת העבודה.
בקטעים הבאים מפורט המבנה של config/config.yaml.
סביבת build
פרויקט סביבת הבנייה הוא הפרויקט שמחויב על פעולות בנייה, כמו משימות BigQuery (קריאה DD03L).
buildEnvironment:
buildProjectId: YOUR_BUILD_PROJECT_ID
בטבלה הבאה מפורטים הפרמטרים של סביבת הבנייה.
| פרמטר | משמעות | ערך ברירת המחדל | תיאור |
|---|---|---|---|
buildEnvironment.buildProjectId |
מזהה פרויקט של גרסת build | YOUR_BUILD_PROJECT_ID |
Google Cloud מזהה הפרויקט שבו מבוצעות פעולות הבנייה. |
נתונים
בקטע data: של קובץ ההגדרות מוגדרים מקורות הנתונים, יעדי הנתונים והמודולים הספציפיים של בסיס הנתונים ומוצרי הנתונים.
המבנה הכללי שלו הוא כזה:
data:
# Geographic location for BigQuery datasets (for example: US, EU, us-central1)
# For full list see: https://docs.cloud.google.com/cortex/docs/supported-locations
bigQueryLocation: US
# List of namespaces for data foundation and product modules.
namespaces:
- name: cortex
path: cortex
# List of source datasets.
sources:
- ...
# List of target datasets.
targets:
- ...
# Configuration for data foundation and product modules.
modules:
# List of foundation modules.
foundation:
- ...
# List of data product modules.
product:
- ...
נתונים: מיקום ב-BigQuery
הגדרת המיקום של מערכי הנתונים של מקור ויעד BigQuery.
| פרמטר | משמעות | ערך ברירת המחדל | תיאור |
|---|---|---|---|
data.bigQueryLocation |
מיקום ב-BigQuery | US |
המיקום של מערך הנתונים ב-BigQuery (לדוגמה, US, us-central1 או europe-west1).
|
נתונים: מרחב שמות של Cortex
הגדרת מרחב השמות של Cortex Framework.
| פרמטר | משמעות | ערך ברירת המחדל | תיאור |
|---|---|---|---|
data.namespaces.name |
שם מרחב השמות | - | שם מרחב השמות של Cortex Framework. לדוגמה, cortex. |
data.namespaces.path |
נתיב מרחב שמות | - | נתיב מרחב השמות של Cortex Framework עבור ספריות משנה שמשמשות בתיקייה src ובתיקייה config. לדוגמה, cortex. |
נתונים: מערכי נתונים של מקורות ויעדים ב-BigQuery
רשימת המקורות מגדירה מערכי נתונים ב-BigQuery שבהם הנתונים הגולמיים ממערכת המקור שוכפלו או הועברו בסטרימינג.
יעדי הייצוא מגדירים רשימה של מערכי נתונים ב-BigQuery שבהם יאוחסנו מערכי הנתונים שעברו עיבוד ב-Dataform.
כל אחד ממקורות היעד וממקורות ההפניה מוזכר במודולים באמצעות המזהה הייחודי שלו.
# Data source and target mapping
sources:
- id: sap_raw
projectId: YOUR_SOURCE_PROJECT_ID
datasetId: cortex_sap_raw
targets:
- id: sap_foundation
projectId: YOUR_TARGET_PROJECT_ID
datasetId: cortex7_sap_data_foundation
בטבלה הבאה מתוארים הפרמטרים של מיפוי מקור הנתונים והיעד.
| פרמטר | משמעות | ערך ברירת המחדל | תיאור |
|---|---|---|---|
data.sources.id |
מזהה מקור | - |
המאפיין מגדיר את ה-id של מערך הנתונים שממנו יתבצע שליפת הנתונים. לדוגמה, sap_raw. |
data.sources.projectId |
מזהה פרויקט המקור | YOUR_SOURCE_PROJECT_ID |
מפנה אל Google Cloud מזהה הפרויקט עם נתוני המקור. |
data.sources.datasetId |
מזהה מערך הנתונים של BigQuery במקור | - |
מפנה למזהה של מערך הנתונים ב-BigQuery עם נתוני המקור. לדוגמה, cortex_sap_raw. |
data.targets.id |
מזהה יעד | - | מגדיר את המזהה של קבוצת הנתונים של היעד. לדוגמה, cortex_data_foundation. |
data.targets.projectId |
מזהה פרויקט היעד | YOUR_TARGET_PROJECT_ID |
מפנה אל מזהה הפרויקט ב- Google Cloud של נתוני היעד. |
data.targets.datasetId |
מזהה מערך הנתונים של BigQuery שמשמש כיעד | - |
מפנה למזהה של מערך הנתונים ב-BigQuery של נתוני היעד. לדוגמה, cortex_sap_data_foundation. |
נתונים: מודולים
המודולים מגדירים את המבנה והרכיבים של צינורות הנתונים של Dataform.
נתונים: מודולים: בסיס
בקטע הזה מגדירים את המודולים של שכבת בסיס הנתונים שמבצעים עיבוד של נתונים מהשכבה הגולמית (זרמי CDC) לייצוג סטנדרטי של הרשומות האחרונות של נתוני המקור. אם המקור מספק תצוגה של הרשומות האחרונות ישירות, או אם המערכת המקורית מבצעת טרנספורמציות כאלה, אפשר להגדיר את המודול כמקור חיצוני של שכבת נתונים בסיסית.
modules:
# List of foundation modules.
foundation:
# Unique identifier for the module instance.
- moduleId: erp
# Type of the module (namespaced, for example, cortex.sap).
type: cortex.sap
# Reference to the source dataset ID.
dataSourceId: sap_raw
# Reference to the target dataset ID.
dataTargetId: sap_foundation
# Module-specific configuration settings.
moduleSettings:
# SAP version (for example, ecc, s4).
sapVersion: ecc
# SAP client number.
mandt: "100"
# Whether the module is enabled.
# enabled: true
# Whether the foundation is external (does not create target dataset).
# external: false
# Path to the table settings configuration file.
# tableSettings: "config/data_foundation/sap/table_settings.yaml"
בטבלה הבאה מפורטים הפרמטרים של מודולי בסיס הנתונים להגדרת modules.foundation.
| פרמטר | משמעות | ערך ברירת המחדל | תיאור |
|---|---|---|---|
moduleId |
מזהה המודול | erp |
מזהה ייחודי של מופע ספציפי של מודול טרנספורמציה של שכבת נתונים בסיסית. |
type |
סוג הלוגיקה של המודול | cortex.sap |
הגדרת הלוגיקה העסקית או התבנית שחלות (לדוגמה, לקוחות, מסמכי מכירות). |
dataSourceId |
קישור למקור | sap_raw |
מפנה אל ה-id מהרשימה data.sources כדי לשלוף נתונים. |
dataTargetId |
קישור היעד | sap_foundation |
מפנה אל ה-id מרשימת היעדים כדי לדחוף אליו נתונים. |
moduleSettings.sapVersion |
גרסת מערכת SAP | ecc |
רלוונטי רק למקורות נתונים של SAP. ההגדרה הזו קובעת את הלוגיקה הספציפית למקור עבור מערכות ecc (ECC) או s4 (S/4HANA). |
moduleSettings.mandt |
לקוח SAP (Mandant) | 100 |
רלוונטי רק למקורות נתונים של SAP. מזהה הלקוח ב-SAP, בן 3 ספרות, שמשמש לסינון שורות נתונים. |
enabled |
הפעלת המודול | true |
קובעת אם המודול מופעל. |
external |
קרן חיצונית | false |
מציין אם השכבה הבסיסית היא חיצונית (לא יוצרת מערך נתונים של יעד). |
tableSettings |
הגדרות טבלה | config/cortex/data_foundation/{source_system}/table_settings.yaml |
הנתיב לקובץ ההגדרות של הטבלה. |
נתונים: מודולים: מוצרי נתונים
מודולים של מוצרי נתונים מגדירים את הצבירות, החישובים והצירופים שנדרשים כדי להפוך נתונים גולמיים לתובנות שמספקות מענה לתרחישי שימוש עסקיים ספציפיים.
ההגדרה של מוצרי הנתונים מאפשרת להגדיר מזהה ייחודי, להגדיר תלות וגם להפנות למודול של בסיס הנתונים ולמערך נתונים של היעד שבו התוצאות יאוחסנו.
ההגדרה המפורטת של מוצרי נתונים מסוימים מוגדרת בקבצים שמפנים אליהם באמצעות המפתח: tableSettings.
modules:
# List of data product modules.
product:
# Unique identifier for the data product instance.
- moduleId: sap_purchasing_organizations
# Type of the data product (namespaced).
type: cortex.purchasing_organizations
# Map of module dependencies.
dependsOn:
sapModule: erp
# Reference to the target dataset ID.
dataTargetId: product_target
# Whether the module is enabled.
# enabled: true
# Path to the table settings configuration file.
# tableSettings: "config/cortex/data_product/purchasing_organizations/table_settings.yaml"
בטבלה הבאה מפורטים הפרמטרים של מודולים של מוצרי נתונים להגדרת modules.product.
| פרמטר | משמעות | ערך ברירת המחדל | תיאור |
|---|---|---|---|
moduleId |
מזהה המודול | - | מזהה ייחודי של מופע ספציפי של מודול טרנספורמציה. |
type |
סוג הלוגיקה של המודול | - | הגדרת הלוגיקה העסקית או התבנית שחלות, שמוגדרות בתיקייה src/data_modules/{namespace}/data_product. |
dataTargetId |
קישור היעד | sap_foundation |
מפנה אל ה-id מרשימת היעדים כדי לדחוף אליו נתונים. |
dependsOn |
תלות ב-Upstream | sapModule: erp |
מציין איזה מודול בסיס צריך להיות קיים לפני שאפשר לבנות את מודול המוצר. |
enabled |
הפעלת המודול | true |
קובעת אם המודול מופעל. |
tableSettings |
הגדרות טבלה | "config/{namespace}/data_product/data_product_name/table_settings.yaml" |
הנתיב לקובץ ההגדרות של הטבלה. |
סביבת פריסה
ב-Cortex Framework נעשה שימוש ב-Dataform כדי לתזמן טרנספורמציות של SQL ב-BigQuery. הבלוק deployment:
מגדיר את התצורה של Dataform, שאחראית להרצת צינורות הנתונים, כולל פרויקט המאגר, המיקום, שם המאגר ושם סביבת העבודה של Dataform.
deployment:
targets:
- type: dataform
enabled: true
targetSettings:
repositoryProjectId: YOUR_REPO_PROJECT_ID
repositoryRegion: us-central1
repositoryName: cortex-repository
workspaceName: dev
בטבלה הבאה מפורטים פרמטרים של מיקום יעדי הפריסה (deployment.targets:).
| פרמטר | משמעות | ערך ברירת המחדל | תיאור | Google Cloud
|---|---|---|---|
type |
סוגי פריסה לבחירה | dataform |
סוג יעדי הפריסה. |
enabled |
מופעל/ מושבת | true |
ההגדרה קובעת אם יעד הפריסה שצוין מופעל או מושבת. |
targetSettings.repositoryProjectId |
מזהה פרויקט המאגר | YOUR_REPO_PROJECT_ID |
מזהה הפרויקט ב- Google Cloud שבו מאוחסן מאגר Dataform. |
targetSettings.repositoryRegion |
אזור המאגר | us-central1 |
ה Google Cloud אזור של מאגר Dataform (לדוגמה, us-central1 או europe-west1). |
targetSettings.repositoryName |
שם המאגר | cortex-repository |
השם הספציפי של מאגר Dataform. |
targetSettings.workspaceName |
שם החשבון ב-Workspace | dev |
סביבת העבודה הספציפית ב-Dataform שמשמשת למחזור הפריסה. |