Skip to main content

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

ComponenteDescripción
NotebookNB_Silver_DS_Channel
Tipo de objetoDimensión
Capa lógicaSilver
NivelDIM
Fuente analizadaNB_Silver_DS_Channel.dbc
Comandos exportados8
Widgetsw_EndDate, w_StartDate, w_catalog, w_schema destiny, w_schema origin
Staging temporalNo identificado
Outputs Delta{v_catalog}.{v_schema_origin}.snw_dim_canal

Parámetros de Ejecución

Se identifican los siguientes widgets:

ParametroDescripción
w_EndDateParámetro de ejecución identificado en el notebook.
w_StartDateParámetro de ejecución identificado en el notebook.
w_catalogCatálogo utilizado durante la ejecución.
w_schema destinyEsquema destino.
w_schema originEsquema origen.

Dimensiones utilizadas

  • No identificado en el DBC proporcionado.

Tablas migradas consumidas

  • {v_catalog}.{v_schema_origin}.as4_mcansopn

Modelo de datos

CampoValor
Fact principalNo aplica; proceso documentado como dimensión.
Dimensión principal{v_catalog}.{v_schema_origin}.snw_dim_canal
Dimensiones relacionadasNo identificadas.
Llaves identificadasCVE_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

{v_catalog}.{v_schema_origin}.snw_dim_canal

Flujo técnico

  1. Limpieza de caché, el proceso inicia con limpieza de caché en Databricks.

  2. Lectura de parámetros, el proceso inicia con la lectura de los widgets configurados para la ejecución.

    • w_EndDate
    • w_StartDate
    • w_catalog
    • w_schema destiny
    • w_schema origin
  3. 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
  4. Comparación entre fuente y dimensión, se realiza mediante un join full.

  5. Identificación de registros nuevos, se identifican registros nuevos cuando la llave de la dimensión destino no existe.

  6. Identificación de registros modificados, se identifican registros modificados cuando campos descriptivos o de estatus presentan diferencias entre la fuente y la dimensión.

  7. 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_CANAL mediante row_number.

  8. Manejo de fechas, se conserva o asigna la lógica de fechas siguiente:

    CampoRegla
    FECHA_CREACIONSe conserva o asigna para registros nuevos o existentes según la lógica del notebook.
    FECHA_MODIFICASe actualiza con la fecha actual en formato yyyyMMdd cuando hay cambios.
  9. Integración de resultados, los registros insertados, actualizados y/o nulos son integrados mediante unión de DataFrames antes de la escritura final.

  10. 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.

Nota
  • 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

ArtefactoDescripción
Diseño Funcional - DS_ChannelDocumenta la arquitectura funcional, componentes y dependencias del proceso.
Fuentes - DS_ChannelDocumenta las fuentes de información consumidos por el proceso.
Operación - DS_ChannelDescribe los controles operativos y actividades de soporte del proceso.
Pipelines - DS_ChannelDescribe la secuencia de ejecución y procesamiento de datos.
Reglas de Negocio - DS_ChannelDescribe las reglas apliacadas durante la conformación de la dimensión.
Tablas - DS_ChannelDocumenta las tablas origen, intermedias y destino involucradas.
Validaciones - DS_ChannelDocumenta controles y validaciones asociados al proceso.

Próximos pasos

No se identifican próximos pasos específicos dentro del alcance de este documento.