Konfiguration des Deployments
In diesem Dokument werden die Optionen für die Bereitstellungskonfiguration für das Cortex Framework in den folgenden Bereichen erläutert:
- Bereitstellungskonfigurationen (
config/config.yaml): Definiert globale Variablen, Build-Umgebungen und die Modulzuordnung (Ziele für Datenfundament und Datenprodukt). - Tabellenkonfigurationen (
table_settings.yaml): Modulspezifische Leistungs- und Schemaspezifikationen, in denen beschrieben wird, wie Basistabellen in BigQuery kompiliert und angepasst werden.
Dieser Leitfaden enthält auch Anleitungen mit Schritt-für-Schritt-Anleitungen für gängige Bereitstellungsanwendungsfälle und ‑szenarien.
Konfigurationsdatei: config/config.yaml
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 Bereitstellung des Cortex Framework. Sie definiert wichtige Parameter wie das Zielprojekt für die Ausführung Google Cloud , die BigQuery-Quelldatasets und ‑zieldatasets sowie Dataform-Spezifikationen wie Repository- und Arbeitsbereichsnamen.
In den folgenden Abschnitten wird die config/config.yaml-Struktur detailliert beschrieben.
Build-Umgebung
Das Build-Umgebungsprojekt 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. |
Übersicht über den Bereich „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-Quell-Dataset-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: sap_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: cortex7_sap_data_foundation. |
Daten: Module
Die Module definieren die Struktur und die Komponenten der Dataform-Datenpipelines.
Daten: Module: Grundlagen
In diesem Abschnitt werden die Module der Data Foundation-Ebene konfiguriert, die Daten aus der Rohdatenebene (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
# Custom table settings file, relative to 'config/' file directory
# Recommended path: '{namespace}/data_foundation/{data_foundation_module_type}/table_settings.yaml'
# Default path: '../src/data_modules/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.default.yaml'
# tableSettings: "custom_datafoundation_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. cortex.sap). |
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, die zum Filtern von Datenzeilen verwendet wird. |
enabled |
Modul aktivieren | true |
Gibt an, ob das Modul aktiviert ist. |
external |
Externe Stiftung | false |
Gibt an, ob die Grundlage extern ist (kein Zieldataset wird erstellt). |
tableSettings |
Tabelleneinstellungen | src/data_modules/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.default.yaml |
Pfad zur benutzerdefinierten Konfigurationsdatei für Tabelleneinstellungen, relativ zu dieser Konfigurationsdatei. Empfohlener Pfad: relativ zum Verzeichnis „config/“: „{namespace}/data_foundation/{data_foundation_module_type}/table_settings.yaml“ Standardpfad: „../src/data_modules/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.default.yaml“ |
Daten: Module: Produkte
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_organizational_structure
# Type of the data product (namespaced).
type: cortex.purchasing_organizational_structure
# Map of module dependencies.
dependsOn:
sapModule: erp
# Reference to the target dataset ID.
dataTargetId: product_target
# Whether the module is enabled.
# enabled: true
# Custom table settings file, relative to 'config/' file directory
# Recommended path: '{namespace}/data_product/{data_product_module_type}/table_settings.yaml'
# If omitted, defaults to '../src/data_modules/{namespace}/data_product/{data_product_module_type}/table_settings.default.yaml'
# tableSettings: "custom_dataproduct_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/{data_product_module_type} definiert ist. |
dataTargetId |
Ziellink | product_target |
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 | src/data_modules/{namespace}/data_product/{data_product_module_type}/table_settings.default.yaml |
Pfad zur benutzerdefinierten Konfigurationsdatei für Tabelleneinstellungen, relativ zu dieser Konfigurationsdatei. Empfohlener Pfad: relativ zum Verzeichnis „config/“: „{namespace}/data_product/{data_product_module_type}/table_settings.yaml“ Standardpfad: „../src/data_modules/{namespace}/data_product/{data_product_module_type}/table_settings.default.yaml“ |
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 Standort, der Repository-Name und der Name des Dataform-Arbeitsbereichs.
deployment:
targets:
- type: dataform
enabled: true
targetSettings:
repositoryProjectId: