Configuração da implantação

Este documento explica as opções de configuração de implantação do Cortex Framework nas seguintes áreas:

Este guia também oferece guias de instruções com instruções detalhadas para casos de uso e cenários comuns de implantação.

Arquivo de configuração: config/config.yaml

O arquivo config/config.yaml, normalmente inicializado do modelo config/config.yaml.example, serve como a configuração principal da implantação do Cortex Framework. Ele define parâmetros críticos, incluindo o projeto de execução de destino Google Cloud , os conjuntos de dados de origem e destino do BigQuery e as especificações do Dataform, como nomes de repositório e espaço de trabalho.

As seções a seguir fornecem um detalhamento detalhado da estrutura config/config.yaml.

Ambiente de build

O projeto do ambiente de build é aquele que recebe a cobrança por ações de build, como jobs do BigQuery (leitura de DD03L).

buildEnvironment:
  buildProjectId: YOUR_BUILD_PROJECT_ID

A tabela a seguir descreve os parâmetros do ambiente de build.

Parâmetro Significado Valor padrão Descrição
buildEnvironment.buildProjectId ID do projeto de build YOUR_BUILD_PROJECT_ID Google Cloud : ID do projeto em que as operações de build são executadas.

Visão geral da seção "Dados"

A seção data: do arquivo de configuração define suas fontes e destinos de dados, além dos módulos específicos para a base e os produtos de dados. A estrutura geral é a seguinte:

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:
    - ...

Dados: local do BigQuery

Define o local dos conjuntos de dados de origem e destino do BigQuery.

Parâmetro Significado Valor padrão Descrição
data.bigQueryLocation Local do BigQuery US Local do conjunto de dados do BigQuery (por exemplo, US, us-central1 ou europe-west1).

Dados: namespace do Cortex

Define o namespace do Cortex Framework.

Parâmetro Significado Valor padrão Descrição
data.namespaces.name Nome do namespace - Nome do namespace do Cortex Framework. Por exemplo, cortex
data.namespaces.path Caminho do namespace - Caminho do namespace do Cortex Framework para subdiretórios usados nas pastas src e config. Por exemplo, cortex

Dados: fontes do BigQuery e conjuntos de dados de destino

A lista de fontes define os conjuntos de dados do BigQuery em que os dados brutos do sistema de origem foram replicados ou transmitidos.

Os destinos definem uma lista de conjuntos de dados do BigQuery em que os conjuntos de dados processados do Dataform serão armazenados.

Cada uma das origens e destinos é referenciada nos módulos usando o ID exclusivo.

# 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

A tabela a seguir descreve os parâmetros de mapeamento de origem e destino de dados.

Parâmetro Significado Valor padrão Descrição
data.sources.id ID da fonte - Define o "id" do conjunto de dados de origem para extrair dados. Por exemplo, sap_raw
data.sources.projectId ID do projeto de origem YOUR_SOURCE_PROJECT_ID Faz referência ao ID do projeto Google Cloud com dados de origem.
data.sources.datasetId ID do conjunto de dados de origem do BigQuery - Referencia o ID do conjunto de dados do BigQuery com dados de origem. Por exemplo, cortex_sap_raw
data.targets.id ID de destino - Define o "id" do conjunto de dados de destino. Por exemplo, sap_foundation
data.targets.projectId ID do projeto de destino YOUR_TARGET_PROJECT_ID Faz referência ao ID do projeto Google Cloud dos dados de destino.
data.targets.datasetId ID do conjunto de dados de destino do BigQuery - Referencia o ID do conjunto de dados do BigQuery para os dados de destino. Por exemplo, cortex7_sap_data_foundation

Dados: módulos

Os módulos definem a estrutura e os componentes dos pipelines de dados do Dataform.

Dados: módulos: fundação

Esta seção configura os módulos da camada de base de dados que processam dados da camada bruta (fluxos de CDC) em uma representação padronizada dos registros mais recentes dos dados de origem. Caso a fonte forneça uma visualização dos registros mais recentes diretamente ou essas transformações sejam realizadas pelo conector do sistema de origem, o módulo poderá ser configurado como uma fonte externa de dados fundamentais.

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"

A tabela a seguir descreve os parâmetros dos módulos de base de dados para a configuração do modules.foundation.

Parâmetro Significado Valor padrão Descrição
moduleId Identificador do módulo erp Identificador exclusivo de uma instância específica do módulo de transformação da base de dados.
type Tipo de lógica do módulo cortex.sap Define a lógica de negócios ou o modelo aplicado (por exemplo, cortex.sap).
dataSourceId Link da fonte sap_raw Referencia o "id" da lista data.sources para extrair dados.
dataTargetId Link de destino sap_foundation Referencia o "id" da lista de destinos para enviar dados.
moduleSettings.sapVersion Versão do sistema SAP ecc Aplicável apenas a fontes de dados do SAP. Determina a lógica específica da origem para sistemas ecc (ECC) ou s4 (S/4HANA).
moduleSettings.mandt Cliente SAP (Mandant) 100 Aplicável apenas a fontes de dados do SAP. O identificador de cliente SAP de três dígitos usado para filtrar linhas de dados.
enabled Ativação do módulo true Especifica se o módulo está ativado.
external Fundação externa false Especifica se a base é externa (não cria o conjunto de dados de destino).
tableSettings Configurações da tabela src/data_modules/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.default.yaml Caminho para o arquivo de configuração personalizado Configurações da tabela, relativo a este arquivo de configuração.
Caminho recomendado: relativo ao diretório "config/": "{namespace}/data_foundation/{data_foundation_module_type}/table_settings.yaml"
Caminho padrão: "../src/data_modules/{namespace}/data_foundation/{data_foundation_module_type}/table_settings.default.yaml"

Dados: módulos: produtos

Os módulos de produtos de dados definem as agregações, os cálculos e as junções necessárias para transformar dados brutos em insights que atendam a casos de uso comerciais específicos.

A configuração dos produtos de dados permite definir um ID exclusivo, definir dependências e referenciar o módulo de base de dados e o conjunto de dados de destino em que os resultados serão armazenados.

A configuração detalhada dos produtos de dados especificados é definida nos arquivos referenciados pela chave: 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"

A tabela a seguir descreve os parâmetros dos módulos de produtos de dados para configuração de modules.product.

Parâmetro Significado Valor padrão Descrição
moduleId Identificador do módulo - Identificador exclusivo de uma instância específica do módulo de transformação.
type Tipo de lógica do módulo - Define a lógica de negócios ou o modelo aplicado, definido na pasta src/data_modules/{namespace}/data_product/{data_product_module_type}.
dataTargetId Link de destino product_target Referencia o "id" da lista de destinos para enviar dados.
dependsOn Dependência upstream sapModule: erp Especifica qual módulo de base precisa existir antes que o módulo de produto possa ser criado.
enabled Ativação do módulo true Especifica se o módulo está ativado.
tableSettings Configurações da tabela