Compatibilité avec Cortex Framework v6
Le contenu de compatibilité v6 fournit une couche compatible avec le schéma pour les charges de travail Cortex Framework v6 dans l'architecture Cortex Framework v7. Cela vous permet de migrer vers Cortex Framework v7 sans interrompre les actifs d'analyse existants, tels que les tableaux de bord Looker ou les modèles sémantiques LookML.
Sources de données prises en charge
Le framework fournit du contenu de compatibilité v6 pour les sources de données SAP ECC et SAP S/4HANA.
Fonctionnement
Le contenu de compatibilité v6 sert d'adaptateur entre les modèles de données v7 et vos actifs de création de rapports existants :
- Vues compatibles avec le schéma : exposez les noms, les colonnes et la casse des vues de création de rapports exactement tels qu'ils apparaissaient dans Cortex Framework (v6).
- Isolation de la cible : isolez les vues de compatibilité des tables Cortex Framework principales en les déployant dans un espace de noms distinct (
cortex_v6_compatibility) et un ensemble de données cible BigQuery dédié.
Déployer le contenu de compatibilité
Pour déployer le contenu de compatibilité Cortex Framework v6, procédez comme suit :
- Configurez un ensemble de données cible BigQuery dédié.
- Activez les modules de compatibilité v6 dans le fichier
config.yaml. - Exécutez les scripts de compilation et de déploiement de Google Cloud Cortex Framework.
- Exécutez les pipelines Dataform.
Ensemble de données cible dédié
Vous devez déployer le contenu de compatibilité v6 dans un ensemble de données BigQuery distinct. Cela évite le masquage de l'espace de noms et les conflits de tables physiques, car de nombreuses tables utilisées par le contenu de compatibilité partagent des noms physiques identiques (tels que cost_centers, profit_centers, billing et deliveries) avec les tables principales de Cortex Framework v7.
Pour créer l'ensemble de données BigQuery dédié, ajoutez cortex_v6_compatibility_target à votre fichier config.yaml :
data:
datasets:
- id: product_target
projectId: YOUR_TARGET_PROJECT_ID
datasetId: prod_sap_dataproducts # Core v7 tables
- id: cortex_v6_compatibility_target
projectId: YOUR_TARGET_PROJECT_ID
datasetId: prod_sap_cortex6 # Compatibility v6 tables
Configurer Cortex Framework
Pour enregistrer et activer la couche de compatibilité dans votre fichier config.yaml, vous devez effectuer les tâches suivantes :
- Configurez l'ensemble de données cible dédié.
- Enregistrez l'espace de noms de compatibilité.
Définissez l'attribut activé sur
truepour tous les modules de compatibilité Cortex Framework v6 suivants :sap_cortex_v6_compatibility_master_datasap_cortex_v6_compatibility_accounts_payablesap_cortex_v6_compatibility_financesap_cortex_v6_compatibility_inventorysap_cortex_v6_compatibility_purchasingsap_cortex_v6_compatibility_sales
L'exemple suivant illustre les modifications de configuration nécessaires pour activer sap_cortex_v6_compatibility_inventory :
data:
datasets:
- id: cortex_v6_compatibility_target
projectId: YOUR_TARGET_PROJECT_ID
datasetId: prod_sap_cortex6
namespaces:
- name: cortex_v6_compatibility
path: ../src/data_modules/cortex_v6_compatibility
modules:
products:
- moduleId: sap_cortex_v6_compatibility_inventory
modulePath: cortex_v6_compatibility.sap.products.inventory
enabled: true # If using configuration file based on config.yaml.example, ensure the `enabled` flag is set to `true`
syncToKc: false
dependencyBindings:
sapModule: erp
sapMasterData: sap_cortex_v6_compatibility_master_data
sapSales: sap_cortex_v6_compatibility_sales
dataTargetId: cortex_v6_compatibility_target
moduleSettings:
targetCurrencies: ['USD']
rateType: 'M'
languages: ['E']
# You must ensure the `enabled` flag is set to `true` for all of the listed dependent modules. In this example:
# `sap_cortex_v6_compatibility_master_data`
# `sap_cortex_v6_compatibility_sales`
Conditions de fonctionnement
Nous vous recommandons vivement d'activer tous les modules de compatibilité Cortex Framework v6 en même temps. Le contenu de compatibilité contient des dépendances inter-modules (par exemple, les vues de facturation dépendent des tables de données maîtres, et les vues d'instantanés d'inventaire dépendent des dimensions de calendrier). Les activer ensemble évite les erreurs de dépendance dans Dataform.
Instantanés d'inventaire
Vous devez configurer et exécuter les tables d'instantanés d'inventaire (stock_weekly_snapshots et stock_monthly_snapshots) en tant que tables incrémentielles.
Dans Cortex Framework v6, les instantanés d'inventaire calculent un total cumulé des quantités et des valeurs de stock :
- Exécution initiale : les tables traitent l'intégralité de l'historique des transactions de mouvement pour établir les niveaux de stock de départ.
- Exécutions ultérieures : Dataform ne traite que les mouvements enregistrés depuis la dernière exécution de l'instantané, en les ajoutant aux totaux cumulés de la période précédente.
Si vous exécutez ces tables en mode d'actualisation complète (non incrémentiel), elles recalculent l'intégralité de l'historique des mouvements à partir de zéro à chaque exécution. Cette approche est très inefficace, coûteuse et peut entraîner des calculs cumulés incorrects si les tables sources contiennent des écarts de date. Conservez le type de matérialisation de ces tables défini sur incrémentiel (configuration par défaut).
Créer et déployer le contenu de compatibilité
Pour créer et déployer le contenu de compatibilité, suivez les instructions de la documentation Déploiement et post-déploiement.