Exemplos de configuração de implantação
O arquivo config/config.yaml, normalmente inicializado no
config/config.yaml.example modelo, 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,
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. Google Cloud
As seções a seguir fornecem um detalhamento detalhado da estrutura config/config.yaml.
Ambiente de build
O projeto do ambiente de build é o projeto que recebe a cobrança de 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. |
Dados
A seção data: do arquivo de configuração define suas fontes de dados, destinos e os módulos específicos para a base de dados 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 na pasta src e config. Por exemplo, cortex. |
Dados: conjuntos de dados de origem e destino do BigQuery
A lista de origens define os conjuntos de dados do BigQuery em que os dados brutos do sistema de origem foram replicados ou transmitidos por streaming.
Os destinos definem uma lista de conjuntos de dados do BigQuery em que os conjuntos de dados processados do Dataform serão armazenados.
Cada origem e destino é referenciado 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 |
Referencia o Google Cloud ID do projeto 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, cortex_data_foundation. |
data.targets.projectId |
ID do projeto de destino | YOUR_TARGET_PROJECT_ID |
Referencia o Google Cloud ID do projeto para os 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, cortex_sap_data_foundation. |
Dados: módulos
Os módulos definem a estrutura e os componentes dos pipelines de dados do Dataform.
Dados: módulos: base
Esta seção configura os módulos da camada de base de dados que processam dados da camada bruta (streams de CDC) em uma representação padronizada dos registros mais recentes dos dados de origem. Caso a origem 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 de base de dados externa.
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
# Path to the table settings configuration file.
# tableSettings: "config/data_foundation/sap/table_settings.yaml"
A tabela a seguir descreve os parâmetros dos módulos de base de dados para a configuração modules.foundation.
| Parâmetro | Significado | Valor padrão | Descrição |
|---|---|---|---|
moduleId |
Identificador do módulo | erp |
Identificador exclusivo de uma instância de módulo de transformação de base de dados específica. |
type |
Tipo de lógica do módulo | cortex.sap |
Define a lógica de negócios ou o modelo aplicado (por exemplo, clientes, sales_documents). |
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 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 SAP. O identificador de cliente SAP de 3 dígitos usado para filtrar linhas de dados. |
enabled |
Ativação do módulo | true |
Especifica se o módulo está ativado. |
external |
Base externa | false |
Especifica se a base é externa (não cria um conjunto de dados de destino). |
tableSettings |
Configurações da tabela | config/cortex/data_foundation/{source_system}/table_settings.yaml |
Caminho para o arquivo de configuração das configurações da tabela. |
Dados: módulos: produtos de dados
Os módulos de produtos de dados definem as agregações, cálculos e junções necessários para transformar dados brutos em insights que atendam a casos de uso de negócios 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 é definida nos arquivos referenciados pela chave: tableSettings.
modules:
# List of data product modules.
product:
# Unique identifier for the data product instance.
- moduleId: sap_purchasing_organizations
# Type of the data product (namespaced).
type: cortex.purchasing_organizations
# Map of module dependencies.
dependsOn:
sapModule: erp
# Reference to the target dataset ID.
dataTargetId: product_target
# Whether the module is enabled.
# enabled: true
# Path to the table settings configuration file.
# tableSettings: "config/cortex/data_product/purchasing_organizations/table_settings.yaml"
A tabela a seguir descreve os parâmetros dos módulos de produtos de dados para a configuração modules.product.
| Parâmetro | Significado | Valor padrão | Descrição |
|---|---|---|---|
moduleId |
Identificador do módulo | - | Identificador exclusivo de uma instância de módulo de transformação específica. |
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. |
dataTargetId |
Link de destino | sap_foundation |
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 do produto possa ser criado. |
enabled |
Ativação do módulo | true |
Especifica se o módulo está ativado. |
tableSettings |
Configurações da tabela | "config/{namespace}/data_product/data_product_name/table_settings.yaml" |
Caminho para o arquivo de configuração das configurações da tabela. |
Ambiente de implantação
O Cortex Framework usa o Dataform para orquestrar transformações de SQL no BigQuery. O bloco deployment: define a configuração do Dataform, responsável pela execução dos pipelines de dados, incluindo o projeto do repositório, o local, o nome do repositório e o nome do espaço de trabalho do Dataform.
deployment:
targets:
- type: dataform
enabled: true
targetSettings:
repositoryProjectId: YOUR_REPO_PROJECT_ID
repositoryRegion: us-central1
repositoryName: cortex-repository
workspaceName: dev
A tabela a seguir descreve os parâmetros de local dos destinos de implantação (deployment.targets:).
| Parâmetro | Significado | Valor padrão | Descrição | Google Cloud
|---|---|---|---|
type |
Tipo de implantação | dataform |
Tipo dos destinos de implantação. |
enabled |
Ativado/ Desativado | true |
Especifica se o destino de implantação está ativado ou desativado. |
targetSettings.repositoryProjectId |
ID do projeto do repositório | YOUR_REPO_PROJECT_ID |
O Google Cloud ID do projeto em que o repositório do Dataform é gerenciado. |
targetSettings.repositoryRegion |
Região do repositório | us-central1 |
A Google Cloud região do repositório do Dataform (por exemplo, us-central1 ou europe-west1). |
targetSettings.repositoryName |
Nome do repositório | cortex-repository |
O nome específico do repositório do Dataform. |
targetSettings.workspaceName |
Nome do espaço de trabalho | dev |
O espaço de trabalho específico do Dataform usado para o ciclo de implantação. |