דוגמאות להגדרות פריסה

קובץ 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 שמשמשת למחזור הפריסה.