Configuração da implantação
Este documento explica as opções de configuração de implantação do Cortex Framework nas seguintes áreas:
- Configurações de implantação (
config/config.yaml): definem variáveis globais, ambientes de build e mapeamento de módulos (fundação de dados e destinos de produtos de dados). - Configurações de tabela (
table_settings.yaml): especificações de desempenho e esquema específicas do módulo, descrevendo como as tabelas de base são compiladas e ajustadas no BigQuery.
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 |