Diseño técnico - Dim Productos
Objetivo
Documentar el diseño técnico del proceso Dim Producto, incluyendo la arquitectura identificada, los componentes involucrados, los objetos generados, las dependencias técnicas y el flujo de integración utilizado para conformar la dimensión maestra de productos en Databricks.
Alcance
Dentro del alcance
- Descripción de la arquitectura técnica del proceso.
- Identificación de notebooks, objetos y salidas documentadas.
- Descripción del flujo técnico de preparación, construcción de catálogos auxiliares e integración final.
- Identificación de tablas, vistas temporales y dependencias utilizadas.
- Descripción general del modelo de datos asociado a la dimensión maestra de productos.
Fuera de alcance
- Definición funcional del proceso.
- Reglas de negocio detalladas.
- Runbook operativo.
- Validaciones de calidad de datos.
- Metadata para SharePoint.
- YAML completo del proceso
Contenido principal
Descripción general
Este documento concentra el diseño técnico del proceso DIM PRODUCTOS, incluyendo la arquitectura identificada, los componenetes principales, las dependencias técnicas y el modelo de datos asociado a la dimensión maestra de productos.
El flujo técnico se organiza en tres etapas principales: preparación de insumos, construcción de catálogos auxiliares e integración final. La salida principal del proceso es snw_dim_productos, mientras que snw_dim_product_es corresponde a la vista de consumo en Gold.
El proceso Dim Producto corresponde a una dimensión compuesta con una etapa de preparación de insumos, una etapa de construcción de catálogos auxiliares y una etapa de integración final.
Arquitectura del Proceso
| Etapa | Objeto / Notebook | Descripción |
|---|---|---|
| Preparación base | DIM_PRODUCTOS_PART_1 | Crea tablas base desde Oracle/AS400 y normaliza la estructura del producto. |
| Catálogos auxiliares | DIM_CATEGORIA, DIM_SUBCATEGORIA, DIM_SEGMENTO,DIM_SUBSEGMENTO, DIM_FAMILIA, DIM_GRUPO, DIM_MARCA, DIM_DESTINO, DIM_PROCESO, DIM_CARACTERISTICAS, DIM_PRESENTACION | Extraen valores distintos desde MTL_PRODUCTOS y aplican lógica de inserts / updates sobre dimensiones existentes. |
| Integración final | DIM_PRODUCTOS_PARTE_2 | Cruza producto base con dimensiones, conversiones y valores default para construir query_product. |
| Persistencia | snw_dim_productos | Sobreescritura Delta de la dimensión maestra. |
| Consumo Gold | snw_dim_product_es | Vista Gold sobre snw_dim_productos. |
Flujo Técnico
- Seleccionar catálogo y schema de trabajo.
- Crear
ALP_TML_PRODUCT_PTa partir de la fuente Oracle/MTL de productos. - Crear
MPROa partir de información AS400 enriquecida con catálogos auxiliares. - Crear
AS400_MPROcomo estructura normalizada de productos AS400. - Crear
MTL_PRODUCTOScon atributos jerárquicos y operativos de producto. - Construir subdimensiones a partir de
MTL_PRODUCTOS. - Construir información de conversiones desde
ebs_alp_bi_dem_conversiones_v. - Construir
Qry_JoinPrdpara integrar productos Oracle/AS400. - Construir
Qry_OraProductosmediante lookup a dimensiones auxiliares. - Construir
Qry_cveas400para completar campos de mapeo y valores default. - Construir
Query_8yquery_productcomo estructura previa a persistencia. - Persistir
snw_dim_productosmediante full join con la dimensión existente. - Crear la vista Gold
snw_dim_product_es.
Componentes Técnicos
| Notebook | Objeto / salida | Tipo | Lógica identificada |
|---|---|---|---|
DIM_PRODUCTOS_PART_1 | cat_master_alpura.sch_bronze_layer.MTL_PRODUCTOS | Bronze staging de productos Oracle/AS400 | Crea ALP_TML_PRODUCT_PT desde ebs_alp_mtl_product_pt2; crea MPRO con joins a as4_mfam y as4_mpre; normaliza AS400_MPRO; crea MTL_PRODUCTOS. |
DIM_PRODUCTOS_PARTE_2 | cat_master_alpura.sch_bronze_layer.snw_dim_productos | Dimensión maestra de productos | Construye conversiones, Qry_JoinPrd, Qry_OraProductos, Qry_cveas400, Query_8 y query_product; hace full join con snw_dim_productos; sobrescribe la tabla Delta final. |
DIM_PRODUCTOS_PARTE_2 | cat_master_alpura.sch_gold_layer.snw_dim_product_es | Vista de consumo en Gold | Vista directa sobre cat_master_alpura.sch_bronze_layer.snw_dim_productos. |
DIM_CATEGORIA | cat_master_alpura.sch_bronze_layer.as4_dim_categoria | Catálogo de categoría | Extrae categorías desde MTL_PRODUCTOS y compara contra snw_dim_categoria para inserts/updates. |
DIM_SUBCATEGORIA | cat_master_alpura.sch_bronze_layer.as4_dim_subcategoria | Catálogo de subcategoría | Relaciona SOP_SUBCAT con categoría mediante as4_dim_categoria y compara contra snw_dim_subcategoria. |
DIM_SEGMENTO | cat_master_alpura.sch_bronze_layer.as4_dim_segmento | Catálogo de segmento | Extrae segmentos desde MTL_PRODUCTOS y compara contra snw_dim_segmento. |
DIM_SUBSEGMENTO | cat_master_alpura.sch_bronze_layer.as4_dim_subsegmentos | Catálogo de subsegmento | Relaciona subsegmentos con as4_dim_segmento y compara contra snw_dim_subsegmentos. |
DIM_FAMILIA | cat_master_alpura.sch_bronze_layer.as4_dim_familia | Catálogo de familia | Extrae familia desde MTL_PRODUCTOS y compara contra snw_dim_familia. |
DIM_GRUPO | cat_master_alpura.sch_bronze_layer.as4_dim_grupo | Catálogo de grupo | Extrae grupo desde MTL_PRODUCTOS, genera nuevos CVE_GRUPO y deduplica. |
DIM_MARCA | cat_master_alpura.sch_bronze_layer.as4_dim_marca | Catálogo de marca | Extrae marca desde MTL_PRODUCTOS y compara contra snw_dim_marca. |
DIM_PRESENTACION | No se identifica write final en el DBC | Catálogo de presentación | Construye Qry_Present y Qry_PresentSOP; prepara lógica de comparación/deduplicación. El DBC visible no contiene saveAsTable final. |
DIM_PROCESO | No se identifica write final en el DBC | Catálogo de proceso | Construye DIM_PROCESO y dim_final; deduplica por ID_PROCESO/PROCESO. El DBC visible no contiene saveAsTable final. |
DIM_CARACTERISTICAS | No se identifica write final en el DBC | Catálogo de característica | Construye DIM_CARACTERISTICA y dim_caracteristica_final. El DBC visible no contiene saveAsTable final. |
DIM_DESTINO | cat_master_alpura.sch_bronze_layer.as4_dim_destino | Catálogo de destino | Extrae destino desde MTL_PRODUCTOS y compara contra snw_dim_destino. |
Modelo de Datos
El modelo corresponde a una dimensión maestra de producto con dependencias hacia catálogos auxiliares. La tabla central identificada es snw_dim_productos.
| Entidad | Rol | Llave / Relación identificada |
|---|---|---|
snw_dim_productos | Dimensión maestra final | ID_PRO e ID_PNVA se usan en el full join contra query_product. |
as4_dim_destino | Lookup producto destino | CVE_DESTINO / DESTINO. |
as4_dim_grupo | Lookup grupo de producto | CVE_GRUPO / ID_GRUPO. |
as4_dim_proceso | Lookup proceso | CVE_PROCESO / ID_PROCESO. |
as4_dim_marca | Lookup marca | CVE_MARCA / ID_MARCA. |
as4_dim_familia | Lookup familia | CVE_FAMILIA / ID_FAMILIA. |
as4_dim_subcategoria | Lookup subcategoría | CVE_SUBCATEGORIA / ID_SUBCATEGORIA. |
as4_dim_categoria | Lookup categoría | CVE_CATEGORIA / ID_CATEGORIA. |
as4_dim_segmento | Lookup segmento | CVE_SEGMENTO / ID_SEGMENTO. |
as4_dim_subsegmentos | Lookup subsegmento | CVE_SUBSEGMENTOS / ID_SUBSEGMENTOS. |
as4_dim_presentacion | Lookup presentación | CVE_PRESENTACION / ID_PRESENTACION. |
as4_dim_caracteristica | Lookup característica | CVE_CARACTERISTICA / ID_CARACTERISTICA. |
Dependencias Técnicas
| 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 Técnicas
- El orden de ejecución es crítico:
MTL_PRODUCTOSdebe existir antes de ejecutar las subdimensiones yDIM_PRODUCTOS_PARTE_2. - Algunos notebooks de subdimensión generan dataframes finales, pero el DBC visible no muestra
saveAsTablefinal. - La dimensión final utiliza overwrite Delta, por lo que un error en
query_productpuede impactar toda la tablasnw_dim_productos - Los valores default de claves deben validarse con negocio, especialmente
CVE_PROCESO=27y claves0. - No se identificó workflow, frecuencia, SLA ni responsable operativo dentro de los DBC proporcionados.
Artefactos relacionados
| Artefacto | Descripción |
|---|---|
| Diseño Funcional - Dim Producto | Describe el objetivo funcional, alcance y flujo funcional 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. |
| Pipelines - Dim Producto | Describe la secuencia de ejecución y procesamiento de datos. |
| 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 si los notebooks
DIM_PRESENTACION,DIM_PROCESOyDIM_CARACTERISTICAScuentan con persistencia final no visible en los DBC analizados. - Identificar workflow, frecuencias, SLA y responsable operativo del proceso.
- Validar con negocio los valores default utilizados en claves dimensionales.