Beispiele für die Bereitstellungskonfiguration

Die Datei config/config.yaml, die in der Regel aus der Vorlage config/config.yaml.example initialisiert wird, dient als primäre Konfiguration für die Cortex Framework-Bereitstellung. Darin werden wichtige Parameter wie das Google Cloud Zielausführungsprojekt, die BigQuery-Quelldatasets und ‑Zieldatasets sowie Dataform-Spezifikationen wie Repository- und Arbeitsbereichsnamen definiert.

In den folgenden Abschnitten wird die Struktur von config/config.yaml detailliert beschrieben.

Build-Umgebung

Das Projekt der Build-Umgebung ist das Projekt, das für Build-Aktionen wie BigQuery-Jobs (Lesen von DD03L) abgerechnet wird.

buildEnvironment:
  buildProjectId: YOUR_BUILD_PROJECT_ID

In der folgenden Tabelle werden die Parameter der Build-Umgebung beschrieben.

Parameter Bedeutung Standardwert Beschreibung
buildEnvironment.buildProjectId Build-Projekt-ID YOUR_BUILD_PROJECT_ID Google Cloud : Projekt-ID, in der Buildvorgänge ausgeführt werden.

Daten

Im data:-Abschnitt der Konfigurationsdatei werden Ihre Datenquellen, Ziele und die spezifischen Module für die Datengrundlage und die Datenprodukte definiert. Die allgemeine Struktur sieht so aus:

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:
    - ...

Daten: BigQuery-Standort

Definiert den Speicherort der BigQuery-Quell- und ‑Zieldatasets.

Parameter Bedeutung Standardwert Beschreibung
data.bigQueryLocation BigQuery-Standort US Speicherort des BigQuery-Datasets, z. B. US, us-central1 oder europe-west1.

Daten: Cortex-Namespace

Definiert den Namespace des Cortex Framework.

Parameter Bedeutung Standardwert Beschreibung
data.namespaces.name Namespace-Name - Name des Cortex Framework-Namespace. Beispiel: cortex.
data.namespaces.path Namespace-Pfad - Cortex Framework-Namespacepfad für Unterverzeichnisse, die im Ordner „src“ und „config“ verwendet werden. Beispiel: cortex.

Daten: BigQuery-Quellen und ‑Zieldatasets

In der Liste der Quellen werden BigQuery-Datasets definiert, in die die Rohdaten aus dem Quellsystem repliziert oder gestreamt wurden.

Die Ziele definieren eine Liste von BigQuery-Datasets, in denen die von Dataform verarbeiteten Datasets gespeichert werden.

Auf jede Quelle und jedes Ziel wird in den Modulen anhand der eindeutigen ID verwiesen.

# 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

In der folgenden Tabelle werden die Parameter für die Zuordnung von Datenquelle und ‑ziel beschrieben.

Parameter Bedeutung Standardwert Beschreibung
data.sources.id Quellen-ID - Definiert die „id“ für das Quelldataset, aus dem Daten abgerufen werden sollen. Beispiel: sap_raw.
data.sources.projectId ID des Quellprojekts YOUR_SOURCE_PROJECT_ID Verweist auf die Google Cloud Projekt-ID mit Quelldaten.
data.sources.datasetId BigQuery-Quelldataset-ID - Verweist auf die BigQuery-Dataset-ID mit Quelldaten. Beispiel: cortex_sap_raw.
data.targets.id Ziel-ID - Definiert die „id“ für das Ziel-Dataset. Beispiel: cortex_data_foundation.
data.targets.projectId Zielprojekt-ID YOUR_TARGET_PROJECT_ID Verweist auf die Google Cloud Projekt-ID für die Zieldaten.
data.targets.datasetId BigQuery-Zieldataset-ID - Verweist auf die BigQuery-Dataset-ID für die Zieldaten. Beispiel: cortex_sap_data_foundation.

Daten: Module

Die Module definieren die Struktur und die Komponenten der Dataform-Datenpipelines.

Daten: Module: Foundation

In diesem Abschnitt werden die Module der Data Foundation Layer konfiguriert, die Daten aus der Raw-Ebene (CDC-Streams) in eine standardisierte Darstellung der neuesten Datensätze der Quelldaten verarbeiten. Wenn die Quelle direkt eine Ansicht der neuesten Datensätze bereitstellt oder solche Transformationen vom Connector des Quellsystems ausgeführt werden, kann das Modul als externe Datenfundierungsquelle konfiguriert werden.

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"

In der folgenden Tabelle werden die Parameter der Data Foundation-Module für die modules.foundation-Konfiguration beschrieben.

Parameter Bedeutung Standardwert Beschreibung
moduleId Modulkennung erp Eindeutige Kennung für eine bestimmte Instanz eines Data Foundation-Transformationsmoduls.
type Logischer Modultyp cortex.sap Definiert die angewendete Geschäftslogik oder Vorlage (z. B. „customers“ oder „sales_documents“).
dataSourceId Quellenlink sap_raw Verweist auf die „id“ aus der Liste „data.sources“, um Daten abzurufen.
dataTargetId Ziellink sap_foundation Verweist auf die „id“ aus der Zielliste, an die Daten gesendet werden sollen.
moduleSettings.sapVersion SAP-Systemversion ecc Gilt nur für SAP-Datenquellen. Legt die quellspezifische Logik für ecc- (ECC) oder s4-Systeme (S/4HANA) fest.
moduleSettings.mandt SAP-Client (Mandant) 100 Gilt nur für SAP-Datenquellen. Die dreistellige SAP-Client-Kennung, mit der Datenzeilen gefiltert werden.
enabled Modul aktivieren true Gibt an, ob das Modul aktiviert ist.
external Externe Grundlage false Gibt an, ob die Grundlage extern ist (kein Zieldataset wird erstellt).
tableSettings Tabelleneinstellungen config/cortex/data_foundation/{source_system}/table_settings.yaml Pfad zur Konfigurationsdatei für die Tabelleneinstellungen.

Daten: Module: Datenprodukte

In Datenproduktmodulen werden die Aggregationen, Berechnungen und Joins definiert, die erforderlich sind, um Rohdaten in Statistiken umzuwandeln, die bestimmte geschäftliche Anwendungsfälle erfüllen.

Bei der Konfiguration der Datenprodukte können Sie eine eindeutige ID festlegen, Abhängigkeiten definieren sowie auf das Datenfundierungsmodul und das Zieldataset verweisen, in dem die Ergebnisse gespeichert werden.

Die detaillierte Konfiguration der angegebenen Datenprodukte wird in Dateien definiert, auf die mit dem Schlüssel tableSettings verwiesen wird.

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"

In der folgenden Tabelle werden die Parameter für die Datenproduktmodule für die modules.product-Konfiguration beschrieben.

Parameter Bedeutung Standardwert Beschreibung
moduleId Modulkennung - Eindeutige Kennung für eine bestimmte Transformationsmodulinstanz.
type Logischer Modultyp - Definiert die angewendete Geschäftslogik oder Vorlage, die im Ordner src/data_modules/{namespace}/data_product definiert ist.
dataTargetId Ziellink sap_foundation Verweist auf die „id“ aus der Zielliste, an die Daten gesendet werden sollen.
dependsOn Upstream-Abhängigkeit sapModule: erp Gibt an, welches Fundierungsmodul vorhanden sein muss, bevor das Produktmodul erstellt werden kann.
enabled Modul aktivieren true Gibt an, ob das Modul aktiviert ist.
tableSettings Tabelleneinstellungen "config/{namespace}/data_product/data_product_name/table_settings.yaml" Pfad zur Konfigurationsdatei für die Tabelleneinstellungen.

Bereitstellungsumgebung

Das Cortex Framework verwendet Dataform, um SQL-Transformationen in BigQuery zu orchestrieren. Im deployment:-Block wird die Dataform-Konfiguration definiert, die für die Ausführung der Datenpipelines verantwortlich ist. Dazu gehören das Repository-Projekt, der Speicherort, der Repository-Name und der Name des Dataform-Arbeitsbereichs.

deployment:
  targets:
    - type: dataform
      enabled: true
      targetSettings:
        repositoryProjectId: YOUR_REPO_PROJECT_ID
        repositoryRegion: us-central1
        repositoryName: cortex-repository
        workspaceName: dev

In der folgenden Tabelle werden die Standortparameter für Bereitstellungsziele (deployment.targets:) beschrieben.

Google Cloud
Parameter Bedeutung Standardwert Beschreibung
type Art der Bereitstellung dataform Typ der Bereitstellungsziele.
enabled Aktiviert/ Deaktiviert true Gibt an, ob das angegebene Bereitstellungsziel aktiviert oder deaktiviert ist.
targetSettings.repositoryProjectId Repository-Projekt-ID YOUR_REPO_PROJECT_ID Die Google Cloud Projekt-ID, in der das Dataform-Repository verwaltet wird.
targetSettings.repositoryRegion Repository-Region us-central1 Die Google Cloud -Region für das Dataform-Repository (z. B. us-central1 oder europe-west1).
targetSettings.repositoryName Repository-Name cortex-repository Der spezifische Name des Dataform-Repositorys.
targetSettings.workspaceName Name des Arbeitsbereichs dev Der spezifische Dataform-Arbeitsbereich, der für den Bereitstellungszyklus verwendet wird.