Configurazione del deployment

Questo documento illustra le opzioni di configurazione del deployment per Cortex Framework nelle seguenti aree:

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 directory config/) 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)
  • Fallback predefinito:se tableSettings viene 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

Stili di configurazione

Esistono due stili di schema distinti per table_settings.yaml a seconda della categoria del modulo:

  1. 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.
  2. 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 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).

true (impostazione predefinita): il framework elabora i log CDC (utilizzando i timestamp dei record e i flag di operazione) per ricostruire l'ultimo stato conforme.

false: la tabella viene elaborata come uno snapshot completo.

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:

  • incremental: elabora solo i record nuovi o aggiornati dall'ultima esecuzione. Consigliato per set di dati transazionali di grandi dimensioni per risparmiare sui costi.
  • table: ricostruisce completamente la tabella da zero a ogni esecuzione.
  • view: esegue il deployment dell'asset come vista SQL BigQuery (tabella virtuale).
[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] [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 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 time La strategia di partizionamento.

Valori consentiti:

  • time: partizioni in base a un'unità di tempo (colonna Data, Timestamp o Datetime).
  • DATE: Partizioni esplicitamente per una colonna Data.
  • integer: Partizioni per intervallo di numeri interi.
timeGrain string No day Obbligatorio se partitionType è time o DATE. Definisce la granularità delle partizioni temporali.

Valori consentiti: hour, day, month, year (senza distinzione tra maiuscole e minuscole).

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.yaml predefinite nella directory di configurazione dell'area di lavoro (ad esempio config/cortex/data_foundation/sap/custom_table_settings.yaml).
  • Nel nuovo file, aggiungi le tabelle personalizzate o rimuovi le tabelle standard inutilizzate nelle chiavi ecc, s4 o common in base alle esigenze:
common:
  - source:
      tableName: custom_table_name
    target:
      tags: [custom_tag]
  • Aggiorna config/config.yaml in modo che faccia riferimento al percorso delle impostazioni della tabella personalizzata nella proprietà tableSettings del 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 in data.targets per 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 un moduleId univoco, i propri ID set di dati di destinazione e, facoltativamente, la configurazione tableSettings:
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.yaml specificando 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.