Modul für Datengrundlage erstellen
Das Erstellen eines benutzerdefinierten Data Foundation-Moduls ist nur erforderlich, wenn Sie benutzerdefinierte Build-Verhaltensweisen definieren oder die Unterstützung auf ein neues Quellsystem (z. B. Salesforce) ausweiten müssen, das nicht unterstützt wird.
Prüfen Sie vor dem Start, ob die Quelltabelle, die Sie verarbeiten möchten, im Dataset raw layer vorhanden ist.
Achten Sie beim Arbeiten mit SAP-Datenfundierungsmodulen darauf, dass die replizierte DD03L-Tabelle die erforderlichen Metadatensätze für alle Tabellen enthält, die Sie aufnehmen möchten, einschließlich benutzerdefinierter oder zusätzlicher Tabellen. Weitere Informationen zu den Anforderungen
Wenn Sie ein benutzerdefiniertes Datenfundierungsmodul oder einen benutzerdefinierten Namespace erstellen, empfehlen wir die Verwendung eines dedizierten benutzerdefinierten Namespace, um das Lebenszyklusmanagement zu verbessern. So werden Erweiterungen und Anpassungen von Cortex Framework-Artefakten getrennt.
Neues Modul für die Datengrundlage erstellen
So definieren Sie das Modul für die Datenbasis:
- Fügen Sie der Datei
config/config.yamldie Konfiguration des Zieldatasets zudata.targetshinzu. Dadurch wird ein dediziertes BigQuery-Dataset vorbereitet, in dem die Fundamenttabellen bereitgestellt werden:
data:
targets:
- id: data_foundation_sap_custom_namespace
# Google Cloud Project ID for the target dataset.
projectId: target_project_id
# BigQuery dataset ID for the target.
datasetId: data_foundation_sap_custom_namespace
- Fügen Sie Folgendes in den Abschnitt
modules.foundationin der Dateiconfig/config.yamlein, um das Modul für die Datenbasis zu definieren:
data:
modules:
foundation:
# Recommended naming for foundation_module_id:
# custom_namespace_data_foundation_module_type
- moduleId: foundation_module_id
type: cortex.sap
dataSourceId: sap_raw_s4
dataTargetId: data_foundation_sap_custom_namespace
moduleSettings:
sapVersion: s4
mandt: "100"
# Custom table settings file, relative to 'config/' directory
# If omitted, defaults to "../src/data_modules/custom_namespace/data_foundation/data_foundation_module_type/table_settings.default.yaml"
# tableSettings: "custom_namespace/data_foundation/data_foundation_module_type/table_settings.yaml"
- Alternative: Wenn Sie eine externe verarbeitete CDC-Tabelle als Datenbasis verwenden, passen Sie den Abschnitt
modules.foundationin der Dateiconfig/config.yamlmitexternal: truean und entfernen SiedataTargetId:
data:
modules:
foundation:
- moduleId: foundation_module_id
type: cortex.sap
dataSourceId: sap_raw_s4
external: true
moduleSettings:
sapVersion: s4
mandt: "100"
# Custom table settings file, relative to 'config/' directory
# If omitted, defaults to "../src/data_modules/custom_namespace/data_foundation/data_foundation_module_type/table_settings.default.yaml"
# tableSettings: "custom_namespace/data_foundation/data_foundation_module_type/table_settings.yaml"
- Erstellen Sie die in der Konfiguration referenzierte
tableSettings-Datei, in der definiert wird, welche Tabellen aus dem Dataset der Rohdatenebene in die Data Foundation Layer transformiert werden. Wir empfehlen, den Standardpfad zu verwenden:src/data_modules/custom_namespace/data_foundation/data_foundation_module_type/table_settings.default.yaml
common:
- source:
tableName: custom_sap_table_name
target:
tags: [sap, s4, hourly]
clusterDetails:
columns: [ pk_column]
partitionDetails:
column: fldate
partitionType: time
timeGrain: day
Beispiel für ein Data Foundation-Modul
Im folgenden Beispiel wird ein neues benutzerdefiniertes Datenfundierungsmodul registriert, das die Tabelle sflight im benutzerdefinierten Namespace sap_bookingdatamodel verarbeitet.
Registrieren Sie ein neues Data Foundation-Modul.
data:
targets:
- id: data_foundation_sap_bookingdatamodel
projectId: target_project_id
datasetId: data_foundation_sap_bookingdatamodel
modules:
foundation:
- moduleId: sap_bookingdatamodel
type: sap_bookingdatamodel.sap
dataSourceId: sap_raw_s4
dataTargetId: data_foundation_sap_bookingdatamodel
moduleSettings:
sapVersion: s4
mandt: "100"
table_settings.default.yaml erstellen
Erstellen Sie die Datei mit den Tabelleneinstellungen: src/data_modules/sap_bookingdatamodel/data_foundation/sap/table_settings.default.yaml mit folgendem Inhalt:
common:
- source:
tableName: sflight
target:
tags: [sap, s4, hourly]
clusterDetails:
columns: [carrid, connid]
partitionDetails:
column: fldate
partitionType: time
timeGrain: day
Da die Tabelle für SAP ECC- und S/4HANA-Dialekte dasselbe Layout hat, ist sie ein untergeordnetes Element des Abschnitts common:.
Erstellen Sie für jede Tabelle eine Anmerkungsdatei, mit der die Schemas mit Metadaten angereichert werden.
Im Beispielszenario erstellen wir src/data_modules/sap_bookingdatamodel/data_foundation/sap/annotations/sflight.yaml mit folgendem Inhalt:
description: "transparent table FLIGHT, part of the Basis Components Module, BC-DWB-TND (Training and Demo)."
fields:
- name: "mandt"
description: "Client"
- name: "carrid"
description: "Airline Code"
- name: "connid"
description: "Flight Connection Number"
- name: "fldate"
description: "Flight date"
- name: "price"
description: "Airfare"
- name: "currency"
description: "Local currency of airline"
- name: "planetype"
description: "Aircraft Type"
- name: "seatsmax"
description: "Maximum capacity in economy class"
- name: "seatsocc"
description: "Occupied seats in economy class"
- name: "paymentsum"
description: "Total of current bookings"
- name: "seatsmax_b"
description: "Maximum capacity in business class"
- name: "seatsocc_b"
description: "Occupied seats in business class"
- name: "seatsmax_f"
description: "Maximum capacity in first class"
- name: "seatsocc_f"
description: "Occupied seats in first class"
Wenn Sie prüfen möchten, ob das benutzerdefinierte Modul für die Datenbasis erfolgreich kompiliert und bereitgestellt wird, lesen Sie den Abschnitt Bestätigung auf der Seite zur Erweiterbarkeit von Datenprodukten.
- Vorheriger Schritt: Benutzerdefinierten Namespace einrichten
- Nächster Schritt: Modul für Datenprodukt erstellen
- Zurück zur Übersicht