Skip to main content

Pipelines - Dim Producto

Objetivo

Documentar la secuencia de ejecución, dependencias y artefactos generados por el pipeline asociado al proceso Dim Producto, desde la preparación de información base hasta la publicación de la estructura final para consumo.

Alcance

Dentro del alcance

  • Flujo de ejecución del pipeline.
  • Dependencias identificadas entre procesos y objetos.
  • Artefactos generados durante el procesamiento.
  • Configuración del pipeline documentada.

Fuera del alcance

  • Diseño funcional del proceso.
  • Reglas de negocio detalladas.
  • Definición de fuentes de información.
  • Consideraciones operativas y procedimientos de soporte.

Contenido principal

Descripción general

Este documento describe el flujo de ejecución del proceso DIM PRODUCTOS, desde la preparación de tablas base hasta la integración final de la dimensión maestra de productos.

El pipeline contempla la preparación de ALP_TML_PRODUCT_PT, MPRO, AS400_MPRO y MTL_PRODUCTOS, la construcción de subdimensiones a partir de MTL_PRODUCTOS, la integración de conversiones y la generación final de snw_dim_productos.

Flujo de Ejecución

PasoActividadDetalle
1Seleccionar catálogo y schemaDIM_PRODUCTOS_PART_1 ejecuta USE CATALOG cat_master_alpura y USE SCHEMA sch_bronze_layer.
2Crear ALP_TML_PRODUCT_PTReplica ebs_alp_mtl_product_pt2 hacia ALP_TML_PRODUCT_PT.
3Crear MPROToma as4_mpro y lo enriquece con as4_mfam y as4_mpre. Aplica CAST a campos de producto, precios, impuestos y conversiones.
4Crear AS400_MPRONormaliza MPRO con nombres como ID_PRO, DESPRO, DSCOPR, UNIMED, precios, IVA, IEPS, FCONKL, FCONPZ y FECHA_ACTUALIZA.
5Crear MTL_PRODUCTOSNormaliza ALP_TML_PRODUCT_PT con atributos jerárquicos: destino, grupo, familia, proceso, tipo producto, tipo leche, característica, presentación, SKU, SOP, Sellout y estatus Oracle.
6Construir subdimensionesCada notebook de subdimensión lee MTL_PRODUCTOS, genera registros distintos y compara contra tablas snw_dim_* existentes.
7Construir conversionesDIM_PRODUCTOS_PARTE_2 crea QUERY_1 y ODS_PRODUCTOS_CONVERSIONES desde ebs_alp_bi_dem_conversiones_v.
8Construir Qry_JoinPrdIntegra mtl_productos con as400_mpro para consolidar claves Oracle/AS400 y atributos base.
9Construir Qry_OraProductosEnriquece producto con lookup a dimensiones auxiliares: destino, grupo, proceso, marca, familia, subcategoría, categoría, segmento, subsegmentos, presentación, característica y estatus.
10Construir Qry_cveas400Completa campos de mapeo y defaults para claves no disponibles.
11Construir Query_8 y query_productRenombra, coalescea, limpia y deja estructura final previa a persistencia.
12Persistir snw_dim_productosHace full join con dimensión existente y sobreescribe cat_master_alpura.sch_bronze_layer.snw_dim_productos.
13Crear vista GoldCrea cat_master_alpura.sch_gold_layer.snw_dim_product_es como vista directa sobre snw_dim_productos.

Dependencias de Ejecución

TipoDependencia
Vista/temporalQUERY_1
Vista/temporalODS_PRODUCTOS_CONVERSIONES
Vista/temporalQry_JoinPrd
Vista/temporalQry_OraProductos
Vista/temporalQry_cveas400
Vista/temporalQuery_8
Vista/temporalquery_product
Vista/temporalDIM_CARACTERISTICA
Vista/temporalDIM_PROCESO
Vista/temporalDIM_GRUPO
Vista/temporalQry_Segmento
Vista/temporalQry_CatSOP_2
Vista/temporalQry_SubSegmento
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_destino
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_grupo
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_proceso
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_marca
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_familia
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_subcategoria
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_categoria
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_segmento
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_subsegmentos
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_tipo
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_grupo_mermas
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_presentacion
Lookupcat_master_alpura.sch_bronze_layer.as4_dim_caracteristica
Lookupcat_master_alpura.sch_bronze_layer.as4_cat_estatus
Lookupcat_master_alpura.sch_bronze_layer.alp_tml_product_pt

Consideraciones de Ejecución

  • El orden de ejecucion es critico: MTL_PRODUCTOS debe existir antes de ejecutar las subdimensiones y DIM_PRODUCTOS_PARTE_2.
  • Algunos notebooks de subdimension generan dataframes finales pero el DBC visible no muestra saveAsTable final; se debe validar en Databricks si existen celdas ocultas o si falta persistencia.
  • La dimension final usa overwrite de Delta, por lo que un error en query_product puede impactar toda la tabla snw_dim_productos.
  • Los defaults de claves deben validarse con negocio, especialmente CVE_PROCESO=27 y claves 0.
  • No se identifico workflow, frecuencia, SLA ni responsable operativo dentro de los DBC proporcionados.

Configuración del Pipeline

process_name: DIM_PRODUCTOS
layer: Silver
type: dimension
documentation_level: FULL_DIM
sharepoint:
file_name: Documentacion_DIM_PRODUCTOS_v1.docx
suggested_path: /DataPlatform/Databricks/Silver/DIM_PRODUCTOS/
documentation_link_placeholder: '{sharepoint_link}'
sources:
- cat_master_alpura.sch_bronze_layer.ebs_alp_mtl_product_pt2
- cat_master_alpura.sch_bronze_layer.as4_mpro
- cat_master_alpura.sch_bronze_layer.as4_mfam
- cat_master_alpura.sch_bronze_layer.as4_mpre
- cat_master_alpura.sch_bronze_layer.ebs_alp_bi_dem_conversiones_v
- cat_master_alpura.sch_bronze_layer.mtl_productos
- cat_master_alpura.sch_bronze_layer.as400_mpro
- cat_master_alpura.sch_bronze_layer.snw_dim_productos
staging_tables:
- cat_master_alpura.sch_bronze_layer.ALP_TML_PRODUCT_PT
- cat_master_alpura.sch_bronze_layer.MPRO
- cat_master_alpura.sch_bronze_layer.AS400_MPRO
- cat_master_alpura.sch_bronze_layer.MTL_PRODUCTOS
temporary_views:
- QUERY_1
- ODS_PRODUCTOS_CONVERSIONES
- Qry_JoinPrd
- Qry_OraProductos
- Qry_cveas400
- Query_8
- query_product
- DIM_CARACTERISTICA
- DIM_PROCESO
- DIM_GRUPO
- Qry_Segmento
- Qry_CatSOP_2
- Qry_SubSegmento
documented_dimensions:
- notebook: DIM_PRODUCTOS_PART_1
object: cat_master_alpura.sch_bronze_layer.MTL_PRODUCTOS
description: Bronze staging de productos Oracle/AS400
- notebook: DIM_PRODUCTOS_PARTE_2
object: cat_master_alpura.sch_bronze_layer.snw_dim_productos
description: Dimensión maestra de productos
- notebook: DIM_PRODUCTOS_PARTE_2
object: cat_master_alpura.sch_gold_layer.snw_dim_product_es
description: Vista de consumo en Gold
- notebook: DIM_CATEGORIA
object: cat_master_alpura.sch_bronze_layer.as4_dim_categoria
description: Catálogo de categoría
- notebook: DIM_SUBCATEGORIA
object: cat_master_alpura.sch_bronze_layer.as4_dim_subcategoria
description: Catálogo de subcategoría
- notebook: DIM_SEGMENTO
object: cat_master_alpura.sch_bronze_layer.as4_dim_segmento
description: Catálogo de segmento
- notebook: DIM_SUBSEGMENTO
object: cat_master_alpura.sch_bronze_layer.as4_dim_subsegmentos
description: Catálogo de subsegmento
- notebook: DIM_FAMILIA
object: cat_master_alpura.sch_bronze_layer.as4_dim_familia
description: Catálogo de familia
- notebook: DIM_GRUPO
object: cat_master_alpura.sch_bronze_layer.as4_dim_grupo
description: Catálogo de grupo
- notebook: DIM_MARCA
object: cat_master_alpura.sch_bronze_layer.as4_dim_marca
description: Catálogo de marca
- notebook: DIM_PRESENTACION
object: No se identifica write final en el DBC
description: Catálogo de presentación
- notebook: DIM_PROCESO
object: No se identifica write final en el DBC
description: Catálogo de proceso
- notebook: DIM_CARACTERISTICAS
object: No se identifica write final en el DBC
description: Catálogo de característica
- notebook: DIM_DESTINO
object: cat_master_alpura.sch_bronze_layer.as4_dim_destino
description: Catálogo de destino
tables_migrated_consumed:
- No external migration DBC identified in provided files
- Existing snw_dim_* tables are consumed as current/historical dimension bases
outputs:
- cat_master_alpura.sch_bronze_layer.snw_dim_productos
- cat_master_alpura.sch_gold_layer.snw_dim_product_es
business_rules:
- Estandarización de descripciones con UPPER, TRIM y CAST a tipos explícitos.
- 'Uso de COALESCE para asignar valores default cuando las llaves dimensionales no encuentran correspondencia: por ejemplo
CVE_DESTINO=0, CVE_GRUPO=0, CVE_PROCESO=27, CVE_MARCA=0.'
- Construcción incremental lógica mediante full join entre dimensión existente y registros nuevos, separando inserts, updates
y registros sin cambio.
- Generación de surrogate keys con MAX(CVE_*) + ROW_NUMBER() para nuevos registros en varias subdimensiones.
- Uso de fecha de ejecución como FECHA_CREACION / FECHA_MODIFICA / FECHA_ACTUALIZA en formato yyyyMMdd o yyyyMMddHHmmss según
notebook.
- Deduplicación con Window/ROW_NUMBER en objetos como grupo, presentación y proceso.
- La dimensión final de productos se materializa sobrescribiendo cat_master_alpura.sch_bronze_layer.snw_dim_productos y se
expone en Gold mediante snw_dim_product_es.
operational_metadata:
workflow: Not identified in DBC
frequency: Not identified in DBC
sla: Not identified in DBC

Artefactos relacionados

ArtefactoDescripción
Diseño Funcional - Dim ProductoDescribe el objetivo funcional, alcance y flujo funcional del proceso.
Diseño Técnico - Dim ProductoDocumenta la arquitectura técnica, componentes y dependencias del proceso.
Fuentes - Dim ProductoDocumenta las fuentes de información consumidos por el proceso.
Operación - Dim ProductoDescribe los controles operativos y actividades de soporte del proceso.
Reglas de Negocio - Dim ProductoDescribe las reglas apliacadas durante la conformación de la dimensión.
Tablas - Dim ProductoDocumenta las tablas origen, intermedias y destino involucradas.
Validaciones - Dim ProductoDocumenta controles y validaciones asociados al proceso.

Próximos pasos

  • Confirmar a existencia de un workflow asociado al pipeline.
  • Validar la programación y frecuencia de ejecución del proceso.
  • Confirmar la persistencia final de las estructuras asociadas a DIM_PRESENTACION,DIM_PROCESO y DIM_CARACTERISTICAS.