Configurazione del deployment
Questo documento illustra le opzioni di configurazione del deployment per Cortex Framework nelle seguenti aree:
- Configurazioni di deployment (
config/config.yaml): definisce le variabili globali, gli ambienti di build e la mappatura dei moduli (destinazioni di base dei dati e dei prodotti di dati). - Configurazioni delle tabelle (
table_settings.yaml): specifiche di schema e prestazioni specifiche del modulo, che descrivono in dettaglio come vengono compilate e conformate le tabelle di base in BigQuery.
Questa guida fornisce anche guide pratiche con istruzioni passo passo per scenari e casi d'uso di deployment comuni.
File di configurazione: config/config.yaml
Il file config/config.yaml, in genere inizializzato dal modello
config/config.yaml.example, funge da configurazione principale
per il deployment di Cortex Framework. Definisce i parametri critici, tra cui il progetto di esecuzione di destinazione, i set di dati BigQuery di origine e di destinazione e le specifiche Dataform, come i nomi del repository e dello spazio di lavoro. Google Cloud
Le sezioni seguenti forniscono una suddivisione dettagliata della struttura di config/config.yaml.
Ambiente di build
Il progetto dell'ambiente di build è il progetto a cui vengono addebitate le azioni di build,
come i job BigQuery (lettura di DD03L).
buildEnvironment:
buildProjectId: YOUR_BUILD_PROJECT_ID
La seguente tabella descrive i parametri dell'ambiente di build.
| Parametro | Significato | Valore predefinito | Descrizione |
|---|---|---|---|
buildEnvironment.buildProjectId |
ID progetto build | YOUR_BUILD_PROJECT_ID |
Google Cloud ID progetto in cui vengono eseguite le operazioni di build. |
Panoramica della sezione Dati
La sezione data: del file di configurazione definisce le origini dati,
i target e i moduli specifici per la base di dati e i prodotti di dati.
La sua struttura generale è la seguente:
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:
- ...
Dati: posizione BigQuery
Definisce la posizione dei set di dati di origine e di destinazione BigQuery.
| Parametro | Significato | Valore predefinito | Descrizione |
|---|---|---|---|
data.bigQueryLocation |
Località BigQuery | US |
Posizione del set di dati BigQuery (ad esempio US, us-central1 o europe-west1).
|
Dati: spazio dei nomi Cortex
Definisce lo spazio dei nomi di Cortex Framework.
| Parametro | Significato | Valore predefinito | Descrizione |
|---|---|---|---|
data.namespaces.name |
Nome dello spazio dei nomi | - | Nome dello spazio dei nomi di Cortex Framework. Ad esempio, cortex. |
data.namespaces.path |
Percorso dello spazio dei nomi | - | Percorso dello spazio dei nomi di Cortex Framework per le sottodirectory utilizzate all'interno delle cartelle src e config. Ad esempio, cortex. |
Dati: origini BigQuery e set di dati di destinazione
L'elenco delle origini definisce i set di dati BigQuery in cui sono stati replicati o trasmessi i dati non elaborati dal sistema di origine.
Le destinazioni definiscono un elenco di set di dati BigQuery in cui verranno archiviati i set di dati elaborati da Dataform.
Ogni origine e ogni target viene referenziato dai moduli utilizzando il proprio ID univoco.
# 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
La seguente tabella descrive i parametri di mappatura dell'origine dati e della destinazione.
| Parametro | Significato | Valore predefinito | Descrizione |
|---|---|---|---|
data.sources.id |
ID origine | - |
Definisce l'ID del set di dati di origine da cui estrarre i dati. Ad esempio, sap_raw. |
data.sources.projectId |
ID progetto di origine | YOUR_SOURCE_PROJECT_ID |
Fa riferimento all'ID progetto Google Cloud con i dati di origine. |
data.sources.datasetId |
ID set di dati BigQuery di origine | - |
Fa riferimento all'ID set di dati BigQuery con i dati di origine. Ad esempio, cortex_sap_raw. |
data.targets.id |
ID target | - | Definisce l'ID del set di dati di destinazione. Ad esempio, sap_foundation. |
data.targets.projectId |
ID progetto di destinazione | YOUR_TARGET_PROJECT_ID |
Fa riferimento all'ID progetto Google Cloud per i dati di destinazione. |
data.targets.datasetId |
ID set di dati BigQuery di destinazione | - |
Fa riferimento all'ID set di dati BigQuery per i dati di destinazione. Ad esempio, cortex7_sap_data_foundation. |
Dati: moduli
I moduli definiscono la struttura e i componenti delle pipeline di dati Dataform.
Dati: Moduli: Nozioni di base
Questa sezione configura i moduli del livello di base dei dati che elaborano i dati dal livello non elaborato (stream CDC) in una rappresentazione standardizzata dei record più recenti dei dati di origine. Se l'origine fornisce direttamente una visualizzazione degli ultimi record o se queste trasformazioni vengono eseguite dal connettore del sistema di origine, il modulo può essere configurato come origine esterna della base dati.
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"
La seguente tabella descrive i parametri dei moduli di base dei dati per la configurazione di modules.foundation.
| Parametro | Significato | Valore predefinito | Descrizione |
|---|---|---|---|
moduleId |
Identificatore modulo | erp |
Identificatore univoco di un'istanza specifica del modulo di trasformazione della base di dati. |
type |
Tipo di logica del modulo | cortex.sap |
Definisce la logica di business o il modello applicato (ad esempio, cortex.sap). |
dataSourceId |
Link origine | sap_raw |
Fa riferimento a "id" dell'elenco data.sources da cui estrarre i dati. |
dataTargetId |
Link di destinazione | sap_foundation |
Fa riferimento all 'ID dell'elenco delle destinazioni a cui inviare i dati. |
moduleSettings.sapVersion |
Versione del sistema SAP | ecc |
Valido solo per le origini dati SAP. Determina la logica specifica dell'origine per i sistemi ecc (ECC) o s4 (S/4HANA). |
moduleSettings.mandt |
SAP Client (Mandant) | 100 |
Valido solo per le origini dati SAP. L'identificatore client SAP di 3 cifre utilizzato per filtrare le righe di dati. |
enabled |
Attivazione del modulo | true |
Specifica se il modulo è abilitato. |
external |
Fondazione esterna | false |
Specifica se la base è esterna (non crea il set di dati di destinazione). |
tableSettings |
Impostazioni della tabella | src/data_modules/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.default.yaml |
Percorso del file di configurazione personalizzato Impostazioni tabella, relativo a questo file di configurazione. Percorso consigliato: relativo alla directory `config/`: '{namespace}/data_foundation/{data_foundation_module_type}/table_settings.yaml' Percorso predefinito: '../src/data_modules/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.default.yaml' |
Dati: Moduli: Prodotti
I moduli dei prodotti di dati definiscono le aggregazioni, i calcoli e le unioni necessari per trasformare i dati non elaborati in approfondimenti che soddisfano casi d'uso aziendali specifici.
La configurazione dei prodotti di dati consente di impostare l'ID univoco, la definizione delle dipendenze, nonché il riferimento al modulo della base di dati e al set di dati di destinazione in cui verranno archiviati i risultati.
La configurazione dettagliata dei prodotti dati specifici è definita all'interno dei file a cui fa riferimento la chiave: tableSettings.
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"
La seguente tabella descrive i parametri dei moduli del prodotto di dati per la configurazione di modules.product.
| Parametro | Significato | Valore predefinito | Descrizione |
|---|---|---|---|
moduleId |
Identificatore modulo | - | Identificatore univoco di un'istanza specifica del modulo di trasformazione. |
type |
Tipo di logica del modulo | - | Definisce la logica di business o il modello applicato, definito nella cartella src/data_modules/{namespace}/data_product/{data_product_module_type}. |
dataTargetId |
Link di destinazione | product_target |
Fa riferimento all 'ID dell'elenco delle destinazioni a cui inviare i dati. |
dependsOn |
Dipendenza upstream | sapModule: erp |
Specifica quale modulo di base deve esistere prima che possa essere creato il modulo del prodotto. |
enabled |
Attivazione del modulo | true |
Specifica se il modulo è abilitato. |
tableSettings |
Impostazioni della tabella | src/data_modules/{namespace}/data_product/{data_product_module_type}/table_settings.default.yaml |
Percorso del file di configurazione personalizzato Impostazioni tabella, relativo a questo file di configurazione. Percorso consigliato: relativo alla directory `config/`: '{namespace}/data_product/{data_product_module_type}/table_settings.yaml' Percorso predefinito: '../src/data_modules/{namespace}/data_product/{data_product_module_type}/table_settings.default.yaml' |
Ambiente di deployment
Cortex Framework utilizza Dataform per orchestrare le trasformazioni SQL in BigQuery. Il blocco deployment:
definisce la configurazione di Dataform, responsabile dell'esecuzione
delle pipeline di dati, inclusi il progetto del repository, la posizione, il nome del repository
e il nome dello spazio di lavoro Dataform.
deployment:
targets:
- type: dataform
enabled: true
targetSettings:
repositoryProjectId: YOUR_REPO_PROJECT_ID
repositoryRegion: us-central1
repositoryName: cortex-repository
workspaceName: dev
# serviceAccount: "example@example.com"
La seguente tabella descrive i parametri di località delle destinazioni di deployment
(deployment.targets:).
| Parametro | Significato | Valore predefinito | Descrizione |
|---|---|---|---|
type |
Tipo di deployment | dataform |
Il tipo di destinazioni di deployment. |
enabled |
Attivato/ Disattivato | true |
Specifica se la destinazione di deployment specificata è abilitata o disabilitata. |
targetSettings.repositoryProjectId |
ID progetto repository | YOUR_REPO_PROJECT_ID |
L'ID progetto Google Cloud in cui viene gestito il repository Dataform. |
targetSettings.repositoryRegion |
Regione del repository | us-central1 |
La regione Google Cloud per il repository Dataform (ad esempio us-central1 o europe-west1). |
targetSettings.repositoryName |
Nome repository | cortex-repository |
Il nome specifico del repository Dataform. |
targetSettings.workspaceName |
Nome workspace | dev |
L'area di lavoro Dataform specifica utilizzata per il ciclo di deployment. |
targetSettings.serviceAccount |
Email dell'account di servizio | - |
Email del account di servizio predefinito per l'esecuzione del repository Dataform. |
File di configurazione: table_settings.yaml
Questa guida spiega come utilizzare il file table_settings.yaml per configurare le tabelle di base dei dati e dei prodotti di dati in Google Cloud Cortex Framework.
Il file table_settings.yaml specifico del modulo di dati controlla la conformità delle tabelle di origine non elaborate e la materializzazione dei modelli di dati analitici in BigQuery. Utilizzando questo file, puoi configurare tag, strategie di materializzazione e funzionalità avanzate di BigQuery per il rendimento, come il partizionamento o il clustering.
Risoluzione dinamica delle dipendenze
Per impostazione predefinita, Cortex Framework ottimizza l'impronta di deployment e il tempo di esecuzione eseguendo il deployment e la compilazione solo delle tabelle di base richieste come dipendenze dei prodotti di dati abilitati. Se una tabella configurata in table_settings.yaml non ha prodotti di dati downstream attivi che dipendono da essa, viene omessa dalla distribuzione.
Per ignorare questa ottimizzazione e forzare il deployment di una tabella di base, puoi impostare l'attributo deployAlways su true (vedi Riferimento al parametro di stile della base dati).
In Google Cloud Cortex Framework, a ogni modulo (di base o di prodotto) può essere assegnato un file di impostazioni della tabella specifico nel file di configurazione della distribuzione: config/config.yaml utilizzando la proprietà tableSettings.
Percorsi di configurazione
- Impostazioni personalizzate (consigliate): per personalizzare i comportamenti della tabella, copia il file predefinito nella directory di configurazione, modificalo e fai riferimento al relativo percorso in
config/config.yaml. I percorsi consigliati da utilizzare (relativi alla directoryconfig/) sono:- Moduli di base:
namespace/data_foundation/data_foundation/custom_table_settings.yaml(ad es.config/cortex/data_foundation/sap/table_settings.yaml) - Moduli del prodotto:
namespace/data_product/data_product/custom_table_settings.yaml(ad es.config/cortex/data_product/accounting_documents/table_settings.yaml)
- Moduli di base:
- Fallback predefinito:se
tableSettingsviene omesso, il framework esegue automaticamente il fallback a:- Moduli di base:
../src/data_modules/namespace/data_foundation/data_foundation/table_settings.default.yaml - Moduli del prodotto:
../src/data_modules/namespace/data_product/data_product/table_settings.default.yaml
- Moduli di base:
Stili di configurazione
Esistono due stili di schema distinti per table_settings.yaml a seconda della categoria del modulo:
- Stile Data Foundation:mappatura basata su elenchi che definisce le relazioni tra lo schema di origine e quello di destinazione, la gestione CDC (Change Data Capture) e il layout di BigQuery.
- Stile prodotto di dati:mappatura basata su mappe (dizionario) che definisce come vengono materializzate e ottimizzate le visualizzazioni o le tabelle analitiche (ad es. come visualizzazioni, tabelle o tabelle incrementali).
Entrambi gli stili supportano tre sezioni di primo livello per separare le configurazioni in base alla versione del sistema di origine (utilizzate principalmente per SAP Data Foundation e prodotti dipendenti da SAP):
ecc: impostazioni applicate solo durante il deployment di un sistema di origine SAP ECC.s4: Impostazioni applicate solo durante il deployment di un sistema di origine SAP S/4HANA.common: impostazioni applicate indipendentemente dalla versione di SAP (utilizzate per le impostazioni conformi o universali).
Stile delle nozioni fondamentali sui dati
In un modulo Data Foundation, il file table_settings.yaml è strutturato come un elenco di elementi della tabella nelle chiavi ecc, s4 e common. Ogni elemento mappa una tabella di origine non elaborata a una tabella di destinazione conforme e configura le relative impostazioni BigQuery.
Esempio di sintassi YAML
common:
- source:
tableName: bkpf
isCdc: true
target:
tableName: bkpf # Optional: defaults to source tableName if omitted
tags: [sap, common, finance, hourly]
clusterDetails:
columns: [bukrs, gjahr]
partitionDetails:
column: budat
partitionType: time
timeGrain: day
deployAlways: false
Riferimento ai parametri
| Parametro | Tipo | Obbligatorio | Valore predefinito / Esempio | Descrizione |
|---|---|---|---|---|
ecc | s4 | common |
string |
No | [] |
Versione o dialetto del sistema di origine. |
[].deployAlways |
boolean |
No | false |
Se true, la tabella viene sempre implementata e creata, anche se le regole di ottimizzazione potrebbero altrimenti ignorarla. Vedi anche Risoluzione dinamica delle dipendenze |
Impostazioni fonti
Definisce le caratteristiche della tabella di importazione non elaborata.
| Parametro | Tipo | Obbligatorio | Valore predefinito / Esempio | Descrizione |
|---|---|---|---|---|
tableName |
string |
Sì | bkpf |
Il nome della tabella di origine non elaborata in BigQuery (senza distinzione tra maiuscole e minuscole). |
isCdc |
boolean |
No | true |
Indica se la tabella di origine contiene log Change Data Capture (CDC).
• • |
Impostazioni di targeting
Definisce il layout della tabella convalidata di output nel set di dati di destinazione.
| Parametro | Tipo | Obbligatorio | Valore predefinito / Esempio | Descrizione |
|---|---|---|---|---|
tableName |
string |
No | *(Come la fonte)* | Il nome della tabella di destinazione conforme da creare. Se omesso, il framework utilizza per impostazione predefinita l'origine tableName. |
tags |
array[string] |
No | [sap, finance] |
Un elenco di tag di metadati collegati all'azione conforme in Dataform. Si tratta di stringhe arbitrarie che non devono essere preregistrate o definite in altre configurazioni.Possono essere utilizzate immediatamente per filtrare le esecuzioni della pipeline (ad es. utilizzando dataform run --tags ...). |
clusterDetails |
map |
No | — | Facoltativo. Configurazione del clustering BigQuery. Consulta Dettagli del clustering. |
partitionDetails |
map |
No | — | Facoltativo. Configurazione del partizionamento BigQuery. Consulta i dettagli del partizionamento. |
Stile del prodotto di dati
In un modulo Prodotto di dati, il file table_settings.yaml è strutturato come un dizionario (mappa) nelle chiavi ecc, s4 e common. Le chiavi del dizionario rappresentano i nomi della tabella o della vista analitica, mentre i valori definiscono le impostazioni di materializzazione e rendimento.
Esempio di sintassi YAML
s4:
customers:
materializationType: incremental
tags: [sap, dataproduct, masterdata]
clusterDetails:
columns: [mandt, ktokd]
Riferimento ai parametri
| Parametro | Tipo | Obbligatorio | Valore predefinito / Esempio | Descrizione |
|---|---|---|---|---|
ecc | s4 | common |
map |
No | {} |
Una mappa degli asset analitici di destinazione (tabelle o viste) e delle relative configurazioni. |
[table_name].materializationType |
string |
No | incremental |
Come viene creato l'asset analitico in BigQuery.
Valori consentiti:
|
[table_name].tags |
array[string] |
No | [sap, dataproduct] |
Tag dei metadati collegati all'asset analitico in Dataform. Si tratta di stringhe arbitrarie e non è necessario preregistrarle. Possono essere utilizzate immediatamente per esecuzioni selettive della pipeline. |
[table_name].clusterDetails |
map |
No | — | Facoltativo. Configurazione del clustering BigQuery. Consulta Dettagli del clustering. |
[table_name].partitionDetails |
map |
No | — | Facoltativo. Configurazione del partizionamento BigQuery. Consulta i dettagli del partizionamento. |
Configurazioni avanzate di BigQuery
Entrambi gli stili condividono la stessa struttura per ottimizzare l'archiviazione e le prestazioni delle query BigQuery tramite clustering e partizionamento.
Dettagli del clustering
Il clustering colloca i dati in base ai valori di colonne specifiche. BigQuery ordina i dati all'interno di ogni blocco di archiviazione utilizzando queste colonne, il che velocizza notevolmente le query che filtrano (WHERE) o uniscono (JOIN) i dati.
clusterDetails:
columns: [bukrs, gjahr]
Riferimento ai parametri
| Parametro | Tipo | Obbligatorio | Esempio | Descrizione |
|---|---|---|---|---|
columns |
array[string] |
Sì | [bukrs, gjahr] |
Un elenco ordinato di massimo quattro nomi di colonne in base ai quali raggruppare la tabella.
Vincolo:le colonne devono essere alfanumeriche e contenere solo trattini bassi. L'ordine delle colonne nell'elenco determina la gerarchia di ordinamento. |
Dettagli partizionamento
Il partizionamento divide una tabella di grandi dimensioni in segmenti fisici più piccoli in base ai valori di una colonna di data, timestamp o numeri interi. In questo modo, BigQuery non esegue la scansione dell'intera tabella quando una query richiede solo un intervallo specifico di giorni, mesi o ID.
partitionDetails:
column: budat
partitionType: time
timeGrain: day
Riferimento ai parametri
| Parametro | Tipo | Obbligatorio | Esempio | Descrizione |
|---|---|---|---|---|
column |
string |
Sì | budat |
Il nome della colonna utilizzata per partizionare la tabella. Deve essere composto solo da caratteri alfanumerici e trattini bassi. Il tipo di colonna deve corrispondere a partitionType. |
partitionType |
string |
Sì | time |
La strategia di partizionamento.
Valori consentiti:
|
timeGrain |
string |
No | day |
Obbligatorio se partitionType è time o DATE. Definisce la granularità delle partizioni temporali.
Valori consentiti: |
rangeStart |
integer |
No | 1 |
Obbligatorio se partitionType è integer. Il valore iniziale della prima partizione (inclusa). |
rangeEnd |
integer |
No | 1000 |
Obbligatorio se partitionType è integer. Il valore di fine dell'ultima partizione (escluso). |
rangeInterval |
integer |
No | 10 |
Obbligatorio se partitionType è integer. La larghezza di ogni intervallo di partizione. |
Esempi
Gli esempi seguenti mostrano i modelli di configurazione per i moduli di base dei dati e di prodotto di dati, illustrando come personalizzare le tabelle di destinazione, ottimizzare il layout di archiviazione in BigQuery e configurare i tipi di materializzazione.
1. Esempio di impostazioni della tabella di base di dati personalizzati
Questo esempio mostra come configurare un livello di base con tabelle transazionali in cluster e partizionate (come bseg e ekbe) insieme a tabelle di dati standard:
# ==============================================================================
# S/4HANA-Specific Tables
# ==============================================================================
s4:
# ACDOCA is a massive table in S/4HANA; clustering is vital
- source:
tableName: acdoca
target:
tags: [sap, s4, finance, transactional, hourly]
clusterDetails:
columns: [rclnt, rbukrs, gjahr]
# ==============================================================================
# ECC-Specific Tables
# ==============================================================================
ecc:
- source:
tableName: faglflexa
target:
tags: [sap, ecc, finance, transactional, hourly]
# ==============================================================================
# Common Tables (ECC & S/4HANA)
# ==============================================================================
common:
# Financial document header (partitioned by posting date)
- source:
tableName: bkpf
isCdc: true
target:
tags: [sap, common, finance, hourly]
clusterDetails:
columns: [bukrs, gjahr]
partitionDetails:
column: budat
partitionType: time
timeGrain: day
# Purchasing document items (partitioned by creation date)
- source:
tableName: ekpo
target:
tags: [sap, common, logistics, purchasing, hourly]
clusterDetails:
columns: [mandt, ebeln]
partitionDetails:
column: aedat
partitionType: time
timeGrain: month
# Standard master data table (no partitioning/clustering needed)
- source:
tableName: lfa1
target:
tags: [sap, common, masterdata, vendor, daily]
2. Esempio di impostazioni della tabella dei prodotti di dati personalizzati
Questo esempio mostra come configurare i tipi di materializzazione per i prodotti di dati analitici downstream. Impostiamo sales_documents transazionali come incrementali per ottimizzare le prestazioni di compilazione e risparmiare sui costi, mentre le tabelle di dati non transazionali come customers vengono create come tabelle standard:
# settings applied for both ECC and S/4HANA pipelines
common:
# Transactional data product - incremental build
sales_documents:
materializationType: incremental
tags: [sap, dataproduct, sales, transactional]
clusterDetails:
columns: [vkorg, vbeln]
partitionDetails:
column: audat
partitionType: time
timeGrain: day
# Master data product - full table rebuild
customers:
materializationType: table
tags: [sap, dataproduct, masterdata]
clusterDetails:
columns: [mandt, ktokd]
# Aggregated reporting view - virtual view
sales_performance_summary:
materializationType: view
tags: [sap, dataproduct, sales, reporting]
Guide illustrative
Questa sezione fornisce guide passo passo per le attività di configurazione comuni e gli scenari di deployment personalizzati.
Personalizzare l'ambito della tabella in un modulo della base dati
Per aggiungere o rimuovere tabelle all'interno di un modulo di base dati esistente senza creare nuovi moduli o eseguire istanze di pipeline separate:
- Copia le configurazioni
table_settings.default.yamlpredefinite nella directory di configurazione dell'area di lavoro (ad esempioconfig/cortex/data_foundation/sap/custom_table_settings.yaml). - Nel nuovo file, aggiungi le tabelle personalizzate o rimuovi le tabelle standard inutilizzate nelle chiavi
ecc,s4ocommonin base alle esigenze:
common:
- source:
tableName: custom_table_name
target:
tags: [custom_tag]
- Aggiorna
config/config.yamlin modo che faccia riferimento al percorso delle impostazioni della tabella personalizzata nella proprietàtableSettingsdel modulo:
data:
modules:
foundation:
- moduleId: erp
type: cortex.sap
# Custom table settings file, relative to configuration file directory
# Recommended path: '{namespace}/data_foundation/{data_foundation_module_type}/table_settings.yaml'
tableSettings: 'cortex/data_foundation/sap/custom_table_settings.yaml'
Configurare più istanze di un modulo della base di dati
Per eseguire il deployment di due o più istanze di pipeline separate dello stesso tipo di modulo (ad esempio, per supportare più istanze SAP, segmentare tabelle, isolare ambienti o scegliere come target set di dati diversi):
Prima di iniziare:
* Assicurati che le tabelle di origine esistano nel set di dati non elaborati di origine.
* Assicurati che gli schemi dei set di dati di destinazione siano configurati.
* Quando lavori con i moduli SAP Data Foundation, verifica che la tabella dei metadati DD03L contenga colonne e informazioni sui descrittori per le tabelle personalizzate che intendi importare. Per maggiori dettagli, vedi Requisiti di SAP ERP.
Istruzioni:
- Nel file
config/config.yaml, aggiungi le configurazioni target indata.targetsper definire i set di dati target per ogni istanza della pipeline:
data:
targets:
- id: data_foundation_core
projectId: target_project_id
datasetId: data_foundation_sap_core
- id: data_foundation_custom
projectId: target_project_id
datasetId: data_foundation_sap_custom
- Definisci più istanze del modulo nell'elenco
data.modules.foundation. Assegna a ogni istanza unmoduleIdunivoco, i propri ID set di dati di destinazione e, facoltativamente, la configurazionetableSettings:
data:
modules:
foundation:
# Core SAP ERP foundation module instance
- moduleId: erp_core
type: cortex.sap
dataSourceId: sap_raw
dataTargetId: data_foundation_core
# If omitted, defaults to "../src/data_modules/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.default.yaml"
# tableSettings: "../src/data_modules/cortex/data_foundation/sap/table_settings.default.yaml"
# Custom tables pipeline instance
- moduleId: erp_custom
type: cortex.sap
dataSourceId: sap_raw
dataTargetId: data_foundation_custom
# Custom table settings file, relative to configuration file directory
# Recommended path: 'config/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.yaml'
tableSettings: "cortex/data_foundation/sap/custom_datafoundation_table_settings.yaml"
- Crea il file
config/cortex/data_foundation/sap/custom_datafoundation_table_settings.yamlspecificando l'ambito personalizzato. E.g.:
common:
- source:
tableName: custom_sap_table_name
target:
tags: [sap, s4, hourly]
clusterDetails:
columns: [carrid, connid]
partitionDetails:
column: fldate
partitionType: time
timeGrain: day
- Applica le modifiche eseguendo lo script di deployment (
uv run cortex-build-and-deploy), quindi esegui le azioni Dataform come descritto in Passaggi post-deployment.