Diseño técnico - DS_Channel
Objetivo
Documentar el diseño técnico del proceso NB_Silver_DS_Channel, describiendo la arquitectura, fuentes, lógica de comparación, reglas de inserción y actualización, dependencias y persistencia de la dimensión snw_dim_canal.
Alcance
Dentro del alcance
- Parametrización mediante widgets.
- Identificación de fuentes de datos.
- Comparación entre la fuente y la dimensión existente.
- Identificación de registros nuevos y modificados.
- Generación de llaves surrogate.
- Integración de registros mediante unión de DataFrames.
- Persistencia del resultado mediante saveAsTable.
Contenido principal
Descripción general
El proceso NB_Silver_DS_Channel se ejecuta como un notebook de Databricks orientado a la construcción y actualización de una dimensión.
Durante la ejecución se leen los parámetros requeridos mediante widgets, se consulta la tabla as4_mcansopn como fuente principal y la dimensión snw_dim_canal como referencia para identificar registros nuevos y modificados. Posteriormente se generan nuevas llaves surrogate cuando corresponde y el resultado final se persiste mediante saveAsTable.
Arquitectura del proceso
| Componente | Descripción |
|---|---|
| Notebook | NB_Silver_DS_Channel |
| Tipo de objeto | Dimensión |
| Capa lógica | Silver |
| Nivel | DIM |
| Fuente analizada | NB_Silver_DS_Channel.dbc |
| Comandos exportados | 8 |
| Widgets | w_EndDate, w_StartDate, w_catalog, w_schema destiny, w_schema origin |
| Staging temporal | No identificado |
| Outputs Delta | {v_catalog}.{v_schema_origin}.snw_dim_canal |
Parámetros de Ejecución
Se identifican los siguientes widgets:
| Parametro | Descripción |
|---|---|
w_EndDate | Parámetro de ejecución identificado en el notebook. |
w_StartDate | Parámetro de ejecución identificado en el notebook. |
w_catalog | Catálogo utilizado durante la ejecución. |
w_schema destiny | Esquema destino. |
w_schema origin | Esquema origen. |
Dimensiones utilizadas
- No identificado en el DBC proporcionado.
Tablas migradas consumidas
{v_catalog}.{v_schema_origin}.as4_mcansopn
Modelo de datos
| Campo | Valor |
|---|---|
| Fact principal | No aplica; proceso documentado como dimensión. |
| Dimensión principal | {v_catalog}.{v_schema_origin}.snw_dim_canal |
| Dimensiones relacionadas | No identificadas. |
| Llaves identificadas | CVE_CANAL, ID_CANAL |
Relaciones Identificadas
Relaciones detectadas a partir de joins del DBC; la cardinalidad exacta debe validarse contra los datos fuente. Joins relevantes:
df = Qry_Dim_Canal.alias("d").join(...)
sin_cambio = Qry_Dim_Canal.join(...)
.join(
Qry_Dim_Canal.alias("b"),
col("a.ID_CANAL") == col("b.ID_CANAL"),
"left"
)
.join(
Qry_Dim_Canal.alias("d"),
col("c.ID_CANAL") == col("d.ID_CANAL"),
"left"
)
Clasificación de objetos
- Dimensiones documentadas
- Tablas migradas consumidas
{v_catalog}.{v_schema_origin}.snw_dim_canal
{v_catalog}.{v_schema_origin}.as4_mcansopn
Flujo técnico
-
Limpieza de caché, el proceso inicia con limpieza de caché en Databricks.
-
Lectura de parámetros, el proceso inicia con la lectura de los widgets configurados para la ejecución.
w_EndDatew_StartDatew_catalogw_schema destinyw_schema origin
-
Lectura de fuentes, se consultan las tablas identificadas en el notebook:
{v_catalog}.{v_schema_origin}.as4_mcansopn{v_catalog}.{v_schema_origin}.snw_dim_canal
-
Comparación entre fuente y dimensión, se realiza mediante un join full.
-
Identificación de registros nuevos, se identifican registros nuevos cuando la llave de la dimensión destino no existe.
-
Identificación de registros modificados, se identifican registros modificados cuando campos descriptivos o de estatus presentan diferencias entre la fuente y la dimensión.
-
Generación de llave surrogate, para los nuevos registros, la documentación indica la generación de una nueva llave surrogate incrementando el valor máximo existente de
CVE_CANALmedianterow_number. -
Manejo de fechas, se conserva o asigna la lógica de fechas siguiente:
Campo Regla FECHA_CREACION Se conserva o asigna para registros nuevos o existentes según la lógica del notebook. FECHA_MODIFICA Se actualiza con la fecha actual en formato yyyyMMddcuando hay cambios. -
Integración de resultados, los registros insertados, actualizados y/o nulos son integrados mediante unión de DataFrames antes de la escritura final.
-
Persistencia, el resultado final se persiste mediante saveAsTable sobre la tabla:
{v_catalog}.{v_schema_origin}.snw_dim_canal.
Diagrama de flujo técnico
Consideraciones Técnicas
Validar valores de widgets antes de ejecutar: w_EndDate, w_StartDate, w_catalog, w_schema destiny, w_schema origin.
- Frecuencia y workflow no especificados en el DBC salvo que se indique externamente.
- Metadata derivada del DBC; no se inventó lógica adicional.
Artefactos relacionados
| Artefacto | Descripción |
|---|---|
| Diseño Funcional - DS_Channel | Documenta la arquitectura funcional, componentes y dependencias del proceso. |
| Fuentes - DS_Channel | Documenta las fuentes de información consumidos por el proceso. |
| Operación - DS_Channel | Describe los controles operativos y actividades de soporte del proceso. |
| Pipelines - DS_Channel | Describe la secuencia de ejecución y procesamiento de datos. |
| Reglas de Negocio - DS_Channel | Describe las reglas apliacadas durante la conformación de la dimensión. |
| Tablas - DS_Channel | Documenta las tablas origen, intermedias y destino involucradas. |
| Validaciones - DS_Channel | Documenta controles y validaciones asociados al proceso. |
Próximos pasos
No se identifican próximos pasos específicos dentro del alcance de este documento.