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

Google Cloud
Parámetro Significado Valor predeterminado Descripción
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.