Compatibilidade do Cortex Framework v6

O conteúdo de compatibilidade da v6 oferece uma camada compatível com o esquema para cargas de trabalho do Cortex Framework v6 na arquitetura do Cortex Framework v7. Isso permite migrar para o Cortex Framework v7 sem interromper os recursos de análise atuais, como painéis do Looker ou modelos semânticos do LookML.

Fontes de dados compatíveis

O framework oferece conteúdo de compatibilidade da v6 para fontes de dados do SAP ECC e do SAP S/4HANA.

Como funciona

O conteúdo de compatibilidade da v6 funciona como um adaptador entre os modelos de dados da v7 e os recursos de relatórios legados:

  • Visualizações compatíveis com o esquema: expõem nomes, colunas e letras maiúsculas e minúsculas de visualização de relatórios exatamente como apareciam no Cortex Framework (v6).
  • Isolamento de destino: isola as visualizações de compatibilidade das tabelas principais do Cortex Framework implantando-as em um namespace separado (cortex_v6_compatibility) e em um conjunto de dados de destino dedicado do BigQuery.

Implantar o conteúdo de compatibilidade

Para implantar o conteúdo de compatibilidade do Cortex Framework v6, siga estas etapas:

  • Configure um conjunto de dados de destino dedicado do BigQuery.
  • Ative os módulos de compatibilidade da v6 no arquivo config.yaml.
  • Execute os scripts de criação e implantação do Google Cloud Cortex Framework.
  • Execute os pipelines do Dataform.

Conjunto de dados de destino dedicado

É necessário implantar o conteúdo de compatibilidade da v6 em um conjunto de dados separado do BigQuery. Isso evita o sombreamento de namespace e colisões de tabelas físicas, porque muitas tabelas usadas pelo conteúdo de compatibilidade compartilham nomes físicos idênticos (como cost_centers, profit_centers, billing e deliveries) com as tabelas principais do Cortex Framework v7.

Para criar o conjunto de dados dedicado do BigQuery, adicione cortex_v6_compatibility_target ao arquivo 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

Configurar o Cortex Framework

Para registrar e ativar a camada de compatibilidade no arquivo config.yaml, conclua as seguintes tarefas:

  • Configure o conjunto de dados de destino dedicado.
  • Registre o namespace de compatibilidade.
  • Defina o atributo ativado como true para todos os módulos de compatibilidade do Cortex Framework v6 a seguir:

  • sap_cortex_v6_compatibility_master_data

  • sap_cortex_v6_compatibility_accounts_payable

  • sap_cortex_v6_compatibility_finance

  • sap_cortex_v6_compatibility_inventory

  • sap_cortex_v6_compatibility_purchasing

  • sap_cortex_v6_compatibility_sales

O exemplo a seguir demonstra as mudanças de configuração necessárias para ativar o 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`

Requisitos operacionais

Recomendamos ativar todos os módulos de compatibilidade do Cortex Framework v6 ao mesmo tempo. O conteúdo de compatibilidade contém dependências entre módulos. Por exemplo, as visualizações de faturamento dependem de tabelas de dados mestre, e as visualizações de snapshots de inventário dependem de dimensões de calendário. Ativá-los juntos evita erros de dependência no Dataform.

Snapshots de inventário

É necessário configurar e executar as tabelas de snapshot de inventário (stock_weekly_snapshots e stock_monthly_snapshots) como tabelas incrementais. No Cortex Framework v6, os snapshots de inventário calculam um total cumulativo de quantidades e valores de estoque:

  1. Execução inicial: as tabelas processam todo o histórico de transações de movimentação para estabelecer os níveis de estoque iniciais.
  2. Execuções subsequentes: o Dataform processa apenas as movimentações postadas desde a última execução do snapshot, adicionando-as aos totais cumulativos do período anterior.

Se você executar essas tabelas no modo de atualização completa (não incremental), elas vão recalcular todo o histórico de movimentação do zero a cada execução. Essa abordagem é altamente ineficiente, cara e pode causar cálculos cumulativos incorretos se as tabelas de origem contiverem lacunas de data. Mantenha o tipo de materialização dessas tabelas definido como incremental (a configuração padrão).

Criar e implantar o conteúdo de compatibilidade

Para criar e implantar o conteúdo de compatibilidade, siga as instruções na documentação de implantação e pós-implantação.