Ejemplos de configuración de Deployment
El archivo config/config.yaml, que suele inicializarse a partir de la plantilla
config/config.yaml.example, sirve como configuración principal
para la implementación de Cortex Framework. Define parámetros fundamentales, como el proyecto de ejecución de destino, los conjuntos de datos de BigQuery de origen y destino, y las especificaciones de Dataform, como los nombres del repositorio y del espacio de trabajo. Google Cloud
En las siguientes secciones, se proporciona un desglose detallado de la estructura config/config.yaml.
Entorno de compilación
El proyecto del entorno de compilación es el proyecto al que se le factura por las acciones de compilación, como los trabajos de BigQuery (lectura de DD03L).
buildEnvironment:
buildProjectId: YOUR_BUILD_PROJECT_ID
En la siguiente tabla, se describen los parámetros del entorno de compilación.
| Parámetro | Significado | Valor predeterminado | Descripción |
|---|---|---|---|
buildEnvironment.buildProjectId |
ID del proyecto de compilación | YOUR_BUILD_PROJECT_ID |
Google Cloud Es el ID del proyecto en el que se ejecutan las operaciones de compilación. |
Datos
La sección data: del archivo de configuración define tus fuentes de datos, destinos y los módulos específicos para la base de datos y los productos de datos.
Su estructura general es la siguiente:
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:
- ...
Datos: Ubicación de BigQuery
Define la ubicación de los conjuntos de datos de origen y destino de BigQuery.
| Parámetro | Significado | Valor predeterminado | Descripción |
|---|---|---|---|
data.bigQueryLocation |
Ubicación de BigQuery | US |
Ubicación del conjunto de datos de BigQuery (por ejemplo, US, us-central1 o europe-west1).
|
Datos: Espacio de nombres de Cortex
Define el espacio de nombres de Cortex Framework.
| Parámetro | Significado | Valor predeterminado | Descripción |
|---|---|---|---|
data.namespaces.name |
Nombre del espacio de nombres | - | Nombre del espacio de nombres de Cortex Framework. Por ejemplo, cortex. |
data.namespaces.path |
Ruta de acceso del espacio de nombres | - | Ruta de acceso del espacio de nombres de Cortex Framework para los subdirectorios que se usan en las carpetas src y config. Por ejemplo, cortex. |
Datos: Fuentes de BigQuery y conjuntos de datos de destino
La lista de fuentes define los conjuntos de datos de BigQuery en los que se replicaron o transmitieron los datos sin procesar del sistema de origen.
Los destinos definen una lista de conjuntos de datos de BigQuery en los que se almacenarán los conjuntos de datos procesados de Dataform.
Se hace referencia a cada fuente y destino desde los módulos con su ID único.
# 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
En la siguiente tabla, se describen los parámetros de asignación de fuente y destino de datos.
| Parámetro | Significado | Valor predeterminado | Descripción |
|---|---|---|---|
data.sources.id |
ID de la fuente | - |
Define el "id" del conjunto de datos de origen del que se extraerán los datos. Por ejemplo, sap_raw. |
data.sources.projectId |
ID del proyecto fuente | YOUR_SOURCE_PROJECT_ID |
Hace referencia al Google Cloud ID del proyecto con datos de origen. |
data.sources.datasetId |
ID del conjunto de datos de BigQuery de origen | - |
Hace referencia al ID del conjunto de datos de BigQuery con datos de origen. Por ejemplo, cortex_sap_raw. |
data.targets.id |
ID objetivo | - | Define el "id" del conjunto de datos de destino. Por ejemplo, cortex_data_foundation. |
data.targets.projectId |
ID del proyecto de destino | YOUR_TARGET_PROJECT_ID |
Hace referencia al Google Cloud ID del proyecto para los datos de destino. |
data.targets.datasetId |
ID del conjunto de datos de BigQuery de destino | - |
Hace referencia al ID del conjunto de datos de BigQuery para los datos de destino. Por ejemplo, cortex_sap_data_foundation. |
Datos: Módulos
Los módulos definen la estructura y los componentes de las canalizaciones de datos de Dataform.
Datos: Módulos: Base
En esta sección, se configuran los módulos de la capa de base de datos que procesan datos de la capa sin procesar (transmisiones de CDC) en una representación estandarizada de los registros más recientes de los datos de origen. En caso de que la fuente proporcione una vista de los registros más recientes directamente o que el conector del sistema de origen realice esas transformaciones, el módulo se puede configurar como una fuente de base de datos 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"
En la siguiente tabla, se describen los parámetros de los módulos de base de datos para la configuración modules.foundation.
| Parámetro | Significado | Valor predeterminado | Descripción |
|---|---|---|---|
moduleId |
Identificador del módulo | erp |
Es el identificador único de una instancia específica del módulo de transformación de base de datos. |
type |
Tipo de lógica del módulo | cortex.sap |
Define la lógica empresarial o la plantilla aplicada (por ejemplo, clientes, sales_documents). |
dataSourceId |
Vínculo de la fuente | sap_raw |
Hace referencia al "id" de la lista data.sources para extraer datos. |
dataTargetId |
Vínculo de destino | sap_foundation |
Hace referencia al "id" de la lista de destinos para enviar datos. |
moduleSettings.sapVersion |
Versión del sistema SAP | ecc |
Solo se aplica a las fuentes de datos de SAP. Determina la lógica específica de la fuente para los sistemas ecc (ECC) o s4 (S/4HANA). |
moduleSettings.mandt |
Cliente de SAP (Mandant) | 100 |
Solo se aplica a las fuentes de datos de SAP. Es el identificador de cliente de SAP de 3 dígitos que se usa para filtrar filas de datos. |
enabled |
Habilitación del módulo | true |
Especifica si el módulo está habilitado. |
external |
Base de datos externa | false |
Especifica si la base de datos es externa (no crea un conjunto de datos de destino). |
tableSettings |
Configuración de tabla | config/cortex/data_foundation/{source_system}/table_settings.yaml |
Ruta de acceso al archivo de configuración de la configuración de la tabla. |
Datos: Módulos: Productos de datos
Los módulos de productos de datos definen las agregaciones, los cálculos y las uniones necesarios para transformar los datos sin procesar en estadísticas que satisfagan casos de uso empresariales específicos.
La configuración de los productos de datos permite establecer un ID único, definir dependencias y hacer referencia al módulo de base de datos y al conjunto de datos de destino en el que se almacenarán los resultados.
La configuración detallada de los productos de datos determinados se define en los archivos a los que hace referencia la clave: 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"
En la siguiente tabla, se describen los parámetros de los módulos de productos de datos para la configuración modules.product.
| Parámetro | Significado | Valor predeterminado | Descripción |
|---|---|---|---|
moduleId |
Identificador del módulo | - | Es el identificador único de una instancia específica del módulo de transformación. |
type |
Tipo de lógica del módulo | - | Define la lógica empresarial o la plantilla aplicada, definida en la carpeta src/data_modules/{namespace}/data_product. |
dataTargetId |
Vínculo de destino | sap_foundation |
Hace referencia al "id" de la lista de destinos para enviar datos. |
dependsOn |
Dependencia ascendente | sapModule: erp |
Especifica qué módulo de base de datos debe existir antes de que se pueda compilar el módulo del producto. |
enabled |
Habilitación del módulo | true |
Especifica si el módulo está habilitado. |
tableSettings |
Configuración de tabla | "config/{namespace}/data_product/data_product_name/table_settings.yaml" |
Ruta de acceso al archivo de configuración de la configuración de la tabla. |
Entorno de Deployment
Cortex Framework usa Dataform para organizar las transformaciones de SQL en BigQuery. El bloque deployment: define la configuración de Dataform, que es responsable de la ejecución de las canalizaciones de datos, incluido el proyecto del repositorio, la ubicación, el nombre del repositorio y el nombre del espacio de trabajo de Dataform.
deployment:
targets:
- type: dataform
enabled: true
targetSettings:
repositoryProjectId: YOUR_REPO_PROJECT_ID
repositoryRegion: us-central1
repositoryName: cortex-repository
workspaceName: dev
En la siguiente tabla, se describen los parámetros de ubicación de los destinos de implementación (deployment.targets:).
| Parámetro | Significado | Valor predeterminado | Descripción | Google Cloud
|---|---|---|---|
type |
Tipo de Deployment | dataform |
Tipo de los destinos de implementación. |
enabled |
Habilitado/ Inhabilitado | true |
Especifica si el destino de implementación determinado está habilitado o inhabilitado. |
targetSettings.repositoryProjectId |
ID del proyecto del repositorio | YOUR_REPO_PROJECT_ID |
Es el ID del proyecto en el que se administra el repositorio de Dataform. Google Cloud |
targetSettings.repositoryRegion |
Región del repositorio | us-central1 |
La Google Cloud región del repositorio de Dataform (por ejemplo, us-central1 o europe-west1). |
targetSettings.repositoryName |
Nombre del repositorio | cortex-repository |
Es el nombre específico del repositorio de Dataform. |
targetSettings.workspaceName |
Nombre del espacio de trabajo | dev |
Es el espacio de trabajo específico de Dataform que se usa para el ciclo de implementación. |