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
| Paso | Actividad | Detalle |
|---|---|---|
| 1 | Seleccionar catálogo y schema | DIM_PRODUCTOS_PART_1 ejecuta USE CATALOG cat_master_alpura y USE SCHEMA sch_bronze_layer. |
| 2 | Crear ALP_TML_PRODUCT_PT | Replica ebs_alp_mtl_product_pt2 hacia ALP_TML_PRODUCT_PT. |
| 3 | Crear MPRO | Toma as4_mpro y lo enriquece con as4_mfam y as4_mpre. Aplica CAST a campos de producto, precios, impuestos y conversiones. |
| 4 | Crear AS400_MPRO | Normaliza MPRO con nombres como ID_PRO, DESPRO, DSCOPR, UNIMED, precios, IVA, IEPS, FCONKL, FCONPZ y FECHA_ACTUALIZA. |
| 5 | Crear MTL_PRODUCTOS | Normaliza 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. |
| 6 | Construir subdimensiones | Cada notebook de subdimensión lee MTL_PRODUCTOS, genera registros distintos y compara contra tablas snw_dim_* existentes. |
| 7 | Construir conversiones | DIM_PRODUCTOS_PARTE_2 crea QUERY_1 y ODS_PRODUCTOS_CONVERSIONES desde ebs_alp_bi_dem_conversiones_v. |
| 8 | Construir Qry_JoinPrd | Integra mtl_productos con as400_mpro para consolidar claves Oracle/AS400 y atributos base. |
| 9 | Construir Qry_OraProductos | Enriquece producto con lookup a dimensiones auxiliares: destino, grupo, proceso, marca, familia, subcategoría, categoría, segmento, subsegmentos, presentación, característica y estatus. |
| 10 | Construir Qry_cveas400 | Completa campos de mapeo y defaults para claves no disponibles. |
| 11 | Construir Query_8 y query_product | Renombra, coalescea, limpia y deja estructura final previa a persistencia. |
| 12 | Persistir snw_dim_productos | Hace full join con dimensión existente y sobreescribe cat_master_alpura.sch_bronze_layer.snw_dim_productos. |
| 13 | Crear vista Gold | Crea cat_master_alpura.sch_gold_layer.snw_dim_product_es como vista directa sobre snw_dim_productos. |
Dependencias de Ejecución
| Tipo | Dependencia |
|---|---|
| Vista/temporal | QUERY_1 |
| Vista/temporal | ODS_PRODUCTOS_CONVERSIONES |
| Vista/temporal | Qry_JoinPrd |
| Vista/temporal | Qry_OraProductos |
| Vista/temporal | Qry_cveas400 |
| Vista/temporal | Query_8 |
| Vista/temporal | query_product |
| Vista/temporal | DIM_CARACTERISTICA |
| Vista/temporal | DIM_PROCESO |
| Vista/temporal | DIM_GRUPO |
| Vista/temporal | Qry_Segmento |
| Vista/temporal | Qry_CatSOP_2 |
| Vista/temporal | Qry_SubSegmento |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_destino |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_grupo |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_proceso |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_marca |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_familia |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_subcategoria |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_categoria |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_segmento |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_subsegmentos |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_tipo |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_grupo_mermas |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_presentacion |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_dim_caracteristica |
| Lookup | cat_master_alpura.sch_bronze_layer.as4_cat_estatus |
| Lookup | cat_master_alpura.sch_bronze_layer.alp_tml_product_pt |
Consideraciones de Ejecución
- El orden de ejecucion es critico:
MTL_PRODUCTOSdebe existir antes de ejecutar las subdimensiones yDIM_PRODUCTOS_PARTE_2. - Algunos notebooks de subdimension generan dataframes finales pero el DBC visible no muestra
saveAsTablefinal; se debe validar en Databricks si existen celdas ocultas o si falta persistencia. - La dimension final usa
overwritede Delta, por lo que un error enquery_productpuede impactar toda la tablasnw_dim_productos. - Los defaults de claves deben validarse con negocio, especialmente
CVE_PROCESO=27y claves0. - 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
| Artefacto | Descripción |
|---|---|
| Diseño Funcional - Dim Producto | Describe el objetivo funcional, alcance y flujo funcional del proceso. |
| Diseño Técnico - Dim Producto | Documenta la arquitectura técnica, componentes y dependencias del proceso. |
| Fuentes - Dim Producto | Documenta las fuentes de información consumidos por el proceso. |
| Operación - Dim Producto | Describe los controles operativos y actividades de soporte del proceso. |
| Reglas de Negocio - Dim Producto | Describe las reglas apliacadas durante la conformación de la dimensión. |
| Tablas - Dim Producto | Documenta las tablas origen, intermedias y destino involucradas. |
| Validaciones - Dim Producto | Documenta 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_PROCESOyDIM_CARACTERISTICAS.