Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual Ver el historial de la página

« Anterior Versión 23 Siguiente »

Subdirección de las Tecnologías de la Información y Comunicaciones

Área de Gobernanza y Calidad

Cumplimiento normativo

Las normas expuestas son de obligado cumplimiento. La STIC podrá estudiar los casos excepcionales los cuales serán gestionados a través de los responsables del proyecto correspondiente y autorizados por el Área de Gobernanza de la STIC. 

La STIC se reserva el derecho a la modificación de la norma sin previo aviso, tras lo cual, notificará del cambio a los actores implicados para su adopción inmediata según la planificación de cada proyecto.

En el caso de que algún actor considere conveniente y/o necesario el incumplimiento de alguna de las normas y/o recomendaciones, deberá aportar previamente la correspondiente justificación fehaciente documentada de la solución alternativa propuesta, así como toda aquella documentación que le sea requerida por la STIC para proceder a su validación técnica.

Contacto Dpto: Oficina Técnica Business Intelligence

Histórico de cambios

Los cambios en la normativa vendrán acompañados de un registro de las modificaciones. De este modo se podrá realizar un seguimiento y consultar su evolución.

Versiónv01r06Fecha publicación13 de mayo de 2024Fecha entrada en vigor13 de mayo de 2024
Alcance

Circuito de subida a producción

  • Se añade información adicional para concretar el proceso de promoción entre entornos
Versiónv01r05Fecha publicación8 de abril de 2024Fecha entrada en vigor8 de abril de 2024
Alcance

Resumen catálogo normativo

  • Tabla resumen sobre las normativas recogidas en el documento

Normativa de documentación

  • Se recoge los aspectos principales que son necesarios documentar
Versiónv01r04Fecha publicación2 de abril de 2024Fecha entrada en vigor2 de abril de 2024
Alcance

Normativa de Airflow

  • Contiene la información necesaria para el uso de Airflow
Versiónv01r03Fecha publicación14 de marzo de 2024Fecha entrada en vigor14 de marzo de 2024
Alcance

Criterios de subida a producción

  • Contiene la información necesaria para subir la información al entorno de producción

Requisitos mínimos de metadatos

  • Se modifican algunos metadatos relacionados con el linaje en todas aquellas tablas donde aplique el cambio de enfoque

Metadatos de las columnas de las Business Views

  • Se elimina el apartado debido a un cambio de enfoque en el linaje
Versiónv01r02Fecha publicación12 de marzo de 2024Fecha entrada en vigor12 de marzo de 2024
Alcance

Requisitos mínimos de metadatos

  • Metadatos relacionados con el linaje en todas aquellas tablas donde aplica su obligatoriedad

Metadatos de las columnas de las Business Views

  • Recoge la obligatoriedad de la definición de los atributos de linaje en las columnas de las Business Views

Normativa de gestión de assets

  • Gestión de relaciones
Versiónv01r01Fecha publicación06 de marzo de 2024Fecha entrada en vigor06 de marzo de 2024
Alcance

Requisitos mínimos de metadatos

  • Governance.
  • Rocket.

Nombramiento de assets

  • Buenas prácticas.
  • Estructura general.
  • Governance.
  • Rocket.

Resumen de normativas

A continuación se recoge en una tabla un resumen de las normativas del presente documento:

Nombre Normativa

Descripción

Criterios de subida a producción - Normativa para el paso a producción

Listado de requisitos a verificar para confirmar que un activo cumple todas las condiciones para su promoción.

Criterios de subida a producción - Normativa para el control de versiones

Se exponen las normas para el cambio de versiones del entorno productivo.

Criterios de subida a producción - Normativa para definición de linaje

Se recoge a nivel general las obligaciones acerca del linaje que hay que tener en cuenta en la subida a producción.

Criterios de subida a producción - Circuito de subida a producción

Flujograma del circuito de subida a producción.

Requisitos mínimos de metadatos - Governance

Se definen los metadatos que deben incluir los diferentes elementos que se den de alta en Governance.

Requisitos mínimos de metadatos - Rocket

Se definen los metadatos que deben incluir los diferentes elementos que se den de alta en Rocket.

Nombramiento de assets – Buenas prácticas

Listado de buenas prácticas generales a seguir para el nombramiento de cualquier asset que se desee dar de alta.

Nombramiento de assets – Estructura general

Estructura que debe seguir la nomenclatura de una asset.

Nombramiento de assets – Governance

Se recogen todas las reglas de nomenclaturas que debe seguir cualquier elemento específico de Governance.

Nombramiento de assets – Rocket

Se recogen todas las reglas de nomenclaturas que debe seguir cualquier elemento específico de Rocket.

Normativa de documentación – Nuevas fuentes de datos

Se exponen las normas relacionadas con la documentación que se debe realizar al incorporar una nueva fuente de datos.

Normativa de documentación – Reglas de calidad

Se incluyen las normas relacionadas con la documentación que se debe realizar al incorporar una nueva regla de calidad.

Normativa de gestión de assets – Gestión de relaciones

Se incluyen las normas que han de cumplirse para la gestión de las relaciones de los assets que se recogen en la herramienta de Governance.

Normativa de Airflow

Se recogen las normas y políticas a seguir para el uso de la herramienta Airflow en el contexto del proyecto.


Esta tabla es un documento vivo, es decir, se irá actualizando conforme se vayan añadiendo o modificando las normativas.

Introducción

Todos los proyectos desarrollados para la STIC deben construirse y desarrollarse en base a los requisitos técnicos y tecnológicos que la infraestructura del SAS soporta. En caso contrario deberá especificarse de forma clara y concisa durante la reunión de lanzamiento del proyecto. A continuación se detalla el conjunto de requisitos a contemplar por parte de los proveedores.

Criterios de subida a producción

En esta sección se recogen los requisitos mínimos necesarios y los pasos a seguir para asegurar su cumplimiento a la hora de pasar del entorno preproductivo al de producción. En concreto, este documento abarca todos aquellos elementos que se pueden dar de alta en la herramienta de Big Data Stratio. Mediante el cumplimiento de esta normativa, se consigue disponer de un entorno productivo estandarizado, de fácil entendimiento y dispuesto en todo momento a ser explotado, cumpliendo los estándares mínimos en materia de calidad establecidos.

Nota: Esta normativa puede no ser cumplida siempre y cuando la OTBI de su aprobación explícita en caso de ser necesario su incumplimiento.

Normativa para el paso a producción

Para que un conjunto de activos sea cargado en un entorno de producción, deberá cumplir con una serie de requisitos en función del activo que se desee promocionar. Estos requisitos quedan recogidos en el documento específico para ello, el cual deberá ser cumplimentado por el solicitante y validado por el responsable acordado durante el proceso definido para la promoción entre entornos.

A continuación, se listan a modo resumen los diferentes requisitos que han de tenerse en cuenta para verificar que el activo cumple con todas las condiciones establecidas para su promoción. En función del activo que se desee promocionar, determinados requisitos serán de carácter obligatorio.

  • N-01. Se cumple con la estructura del activo establecida por la organización.

  • N-02. Se ha definido el propietario del dato.

  • N-03. Se ha definido el administrador del dato.

  • N-04. El nombre cumple con la normativa establecida por la organización.

  • N-05. El campo de descripción del activo se encuentra completo.

  • N-06. Los permisos de acceso y consumo han sido definidos y validados.

  • N-07. Contiene los metadatos mínimos asociados.

  • N-08. El formato de los metadatos asociados es el correcto.

  • N-09. La sensibilidad de la información ha sido definida y validada.

  • N-10. Las reglas de calidad han sido aprobadas por el responsable correspondiente.

  • N-11. Se ha definido y validado el umbral necesario para las diferentes reglas de calidad.

  • N-12. Los resultados de los perfilados de datos son tratados correctamente

  • N-13. La frecuencia de ejecución de las reglas de calidad ha sido definida y validada por el responsable correspondiente.

  • N-14. La tipología de relaciones utilizada está dentro de las establecidas por la organización.

  • N-15. La tipología de activos de negocio utilizados se recoge en las acordadas por la organización.

  • N-16. Los términos de negocio han sido definidos y validados por el responsable acordado.

  • N-17. El linaje de los datos ha sido identificado y definido por el responsable correspondiente.

Normativa para el control de versiones

En este apartado se exponen las normas de obligado cumplimiento para el cambio de versiones del entorno productivo.

  • Si durante el proceso de definición e implantación de una nueva versión de asset se requiere dar de alta otro activo además del antiguo, este debe implementarse en producción de forma paralela y coordinada con el anterior. De esta forma, coexisten los dos activos durante el tiempo sea necesario, siempre dentro de los tiempos máximos establecidos de forma previa y cumpliendo con la normativa de nombres establecida en secciones siguientes.
  • Mientras que para el nuevo activo no se haya realizado el seguimiento necesario para asegurar la correcta definición del mismo, se puede usar el activo anterior para consultar y obtener la información de este en caso de necesidad.


Normativa para definición de linaje

Este concepto se refiere al registro y seguimiento detallado de la procedencia y los cambios que experimentan los datos a lo largo de su ciclo de vida. Es fundamental para garantizar la transparencia, conocer la trazabilidad y evaluar la confiabilidad de los datos en una organización. En este contexto, es imperativo la añadidura de unos metadatos, tanto a Business Views como a Technicals Views que recojan la información relacionada con el linaje. Concretamente, estos metadatos han sido creados como atributos personalizados en la herramienta (Governance) y cumpliendo la normativa de nomenclatura expuesta en siguientes apartados.

Para recoger el linaje de los datos, se necesitan dos atributos personalizados descritos a continuación, que deberán completarse para todos los datos que se suban a producción:

  • Atributo atr_origen. Este atributo indica de dónde procede una Business View o una Technical View. Este atributo ha de asignarse desde el asset destino (Technical View, Business View) hacia el asset origen (asset del data dictionary), y dado que su objetivo crea un vínculo entre assets, es una atributo personalizado de tipo relación.
  • Atributo atr_transformacion. Este atributo da información acerca de las posibles transformaciones que sufran las Business Views o Technical Views. Puesto que ha de ser un atributo de libre escritura para poder reflejar cada casuística de transformación que pueda darse, es creado como atributo de tipo string.

A través de estos metadatos, se construye un cuadro de mando en Discovery que refleja el linaje de Technicals y Business Views:

Circuito de subida a producción

A continuación, se muestra el flujograma del circuito de subida a producción de una nueva Mejora en el entorno Big Data Stratio.


En este proceso se identifican tres tipos de roles en los cuales pueden existir diferentes grupos:

  • Expertos de Gobierno. Este rol se compone exclusivamente por profesionales de la OTBI, encargados de validar las mejoras y ejecutar las promociones.
  • Usuario solicitante. Este rol es quien inicia el circuito y puede formar parte de la OTBI, STAGI, un proveedor interno o externo e incluso por instituciones externas como pueden ser Hospitales y Universidades.
  • Desarrolladores. Hace referencia a aquellos profesionales encargados de ejecutar las acciones técnicas pertinentes, pueden ser los proveedores externos o internos.

Actualmente, se ha identificado que una PL debe contener la siguiente información relacionada con el asset a promocionar:

  1. Herramienta de Stratio (Rocket, Discovery, Governance o GoSec) al que pertenece.
  2. Tipo de asset.
  3. Nombre del asset.
  4. Urgencia de la promoción.
  5. Motivo de la urgencia.
  6. Otros elementos relacionados con dicho asset que se quiera promocionar. Por ejemplo relaciones entre colecciones.
  7. URL del asset a promocionar.
  8. Checklist de requisitos para el paso a producción.

Toda esta información debe ser la que presenta el asset en el entorno de preproducción.

Para la creación de una PL, se debe considerar el flujo normal de creación de PLs, por lo que se debe tener presente que este paso abarca la creación de una mejora (por parte del Usuario solicitante), la creación de la versión (por parte de la OTBI) y la creación de la SVE (por parte de los Desarrolladores). Una vez creado todo lo anterior, se procederá a la creación de la PL.

Además, hay que tener en cuenta que para nombrar los workflows en Rocket para la promoción de los assets correspondientes, se debe usar letras minúsculas y espacios, incluyendo el tipo de promoción y el número de la PL correspondiente. Ejemplo: bigusu19 promocion devpre.

Requisitos mínimos de metadatos

En esta sección se establecen los metadatos mínimos y recomendados que deben ir asociados a cada tipo de asset dentro de la plataforma Big Data para que estos se promocionen desde el entorno de preproducción al de producción. Se entiende por assets a todos aquellos elementos que pueden ser creados dentro de la plataforma Big Data. En el caso del SAS la solución es Stratio, por lo que la definición de estos metadatos se realiza en función de los elementos que se pueden crear en los diferentes módulos que la componen. Es por ello que esta sección se subdivide en los tres módulos principales de Stratio, estableciendo para ellos un conjunto de metadatos comunes a todos los tipos de assets del módulo así como los específicos de cada uno de ellos.

Nota: Esta normativa puede no ser cumplida siempre y cuando la OTBI de su aprobación explícita en caso de ser necesario su incumplimiento.

Governance


Metadatos comunes

A continuación, se presenta una tabla con los metadatos que son comunes a todos los assets que se encuentran en la herramienta de Governance. Algunos de ellos se encuentran establecidos en el activo de forma automática por la herramienta. En aquellos casos en los que el metadato no se grabe de automáticamente por la herramienta, se deben establecer mediante la creación de los atributos adicionales que sean necesarios.

Los assets que se generan automáticamente en la herramienta a partir de las bases de datos orígenes (Data Dictionary) son muy numerosos y, por tanto,  no es necesario generar los metadatos de descripción, estado, obsoleto. No obstante, para todos aquellos activos que se vayan generando con el uso de la herramienta sí deben presentar de forma obligatoria en el entorno de producción los metadatos marcados con dicha etiqueta.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

Descripción


Descripción textual del activo. Debe ser lo más escueta posible al mismo tiempo que ofrezca las características generales del tipo de activo.

Obligatorio

Estado


Metadato que indica el estado de inactividad del asset asociado.

Obligatorio en los intrínsecos.

Sí ( en Business Views, Business rules y Business terms )

Fecha de creación


Establece la fecha de creación del asset pertinente en la herramienta.

Obligatorio en los intrínsecos

Sí (En todos exceptuando las ontologías)

Fecha de actualización


Indica la fecha en la que se realizó la última modificación del activo.

Obligatorio

Tipo


Metadato que indica a qué tipo de activo (colecciones, reglas de calidad, vistas técnicas…) pertenece el elemento pertinente.

Obligatorio

Obsoleto

atr_obsoleto

Este metadato indicará si el activo es útil o no independientemente de su estado. De esta manera se identifica con facilidad cuándo el activo debe ser borrado o mantenido en la herramienta. Este campo  no se incorporará de forma integral  en la herramienta, sino que se irá creando conforme los assets vayan quedando obsoleto.

Obligatorio

No

Responsable

atr_responsable

Contacto del responsable del mantenimiento y uso del activo asociado.

Recomendable

No

Propietarioatr_propietarioContacto del propietario del activo asociado.RecomendableNo

Usuario actualización

atr_usu_act

Metadato que identifica el miembro que ha actualizado por última vez el activo en cuestión.

Recomendable

No


Metadatos específicos

En este apartado, se especifican los metadatos que son únicos de cada tipo de activo presentes en la herramienta. Es decir, cada asset debe presentar tanto los metadatos comunes como los definidos en este apartado que se encuentren categorizados como obligatorios.

Colecciones

A continuación, se muestra una tabla con los metadatos exclusivo del asset de colecciones.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

Ámbito

atr_ambito

Departamento dentro del SAS que requiere el uso de la colección pertinente.

Obligatorio

No


Metadatos de los procesos de ingesta.

Además, existe un conjunto de metadatos asociados a los procesos de ingestas.

Todos los metadatos de este tipo comienzan con los caracteres "dlc". 

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

dlc.replication


Indica si la  Collection  o  Technical View  debe ser ingestada.

Una vista técnica es ingestada sí se cumplen estas dos condiciones:

  • A nivel colección, el valor está establecido a true.
  • A nivel vista técnica, el valor no está establecido a false.

Obligatorio

dlc.entity.alias


Este nombre es utilizado para definir el nombre de la entidad en el servicio DLC siguiendo el formato  {dlc.entity_alias}-technicalViewName.

En la actualidad, se indica como valor el nombre de la colección.

Obligatorio

dlc.instance


Nombre del servicio DLC que va a orquestar el proceso de ingesta para la colección. Por motivos de arquitectura puede existir más de un servicio DLC en un entorno. Actualmente existen 3 instancias DLC, una por entorno:

  • Desarrollo: dlc-dev.keos-apps-dev
  • Preproducción: dlc-pre.keos-apps-pre
  • Producción: dlc-pro.keos-apps-pro

De este modo,

  • dlc-dev.keos-apps-dev orquesta las ingestas en rocket-dev del entorno dev/pre.
  • dlc-pre.keos-apps-pre orquesta las ingestas en rocket-pre del entorno dev/pre.
  • dlc-pro.keos-apps-pro orquesta las ingestas en rocket del entorno Producción.

Obligatorio

dlc.cron


Indica la planificación de la ejecución de la ingesta en formato de tarea programada Spring. Está formado por 6 campos:

  • Segundo
  • Minuto
  • Hora
  • Día del mes
  • Mes
  • Día/s de la semana


Estos campos siguen la siguiente sintáxis:


Sintáxis        Cuándo                 Ejemplo               Explicación

-----------------------------------------------------------------------------------------
*                  cualquiera              "* * * * * *"           Ejecutar siempre
*/x               cada x                    "*/5 * * * * *"        Ejecutar cada 5 segundos
?                  no especificado     "0 0 0 25 12 ?"     Ejecutar cada 25 de diciembre

Obligatorio

dlc.workflow_path


Directorio donde se ubica el workflow en Rocket. El formato del path es el siguiente:

/home/{nombre_proyecto}/{path}

Donde:

  • nombre_proyecto es el nombre del proyecto en Rocket
  • Path es el directorio dentro del proyecto Rocket

De este modo, si se establece el parámetro a /home/dlc/dlc significa que queremos utilizar un workflow ubicado en el path /dlc del proyecto dlc.

En la actualidad, el parámetro se establece con el valor /home/dlc/dlc.

Recomendado

dlc.workflow_name


Nombre del workflow en Rocket.

Por defecto, dlc-crossdata-parquet

En la actualidad, se realizan dos tipos de ingesta:

  • Son tablas que siempre se ingestan de forma completa.
  • Son tablas que no se ingestan completas sino por deltas.

Atendiendo a los tipos de ingesta, se utilizan los siguientes workflows:

  • dlc-crossdata-parquet-snapshot para ingestas completas/snapshots.
  • dlc-corssdata-parquet-delta para ingestas incrementales.

Recomendado

dlc.workflow_version


Versión del workflow de Rocket. Por defecto, 1.

En la actualidad, las versiones utilizadas para los workflows arriba indicados son los siguientes:

  • Cuando se utiliza dlc-crossdata-parquet-snapshot, se debe indicar  workflow_version  a 1.
  • Cuando se utiliza dlc-corssdata-parquet-delta, se debe indicar  workflow_version  a 1.

Recomendado

dlc.table_filter


Filtro where que se desea incluir en la migración, debe incluir la palabra where.

Este atributo se realiza cuando la ingesta de la tabla se realiza de forma incremental – por deltas – en lugar de completa - snapshots. Si no existe, la ingesta de la tabla será completa.

Recomendado

dlc.table_fields


Campos de la tabla que se desean migrar, si no se incluye se migrarán todos.

Recomendado

dlc.execution_context


Permite que dlc comunique a Rocket un contexto de ejecución específico. Se utiliza fundamentalmente para realizar la ingesta con unos recursos más elevados para aquellas tablas que, debido a su volumetría, se hace más complicada su ingesta. 

En el caso de ingestas automáticas, los contextos de ejecución  Environment y SparkConfigurations  permanecerán con sus valores por defecto, mientras que si se desean modificar, se define un contexto específico mediante el valor SparkResources, que puede tomar los siguientes valores.

  • XS
  • S
  • M
  • L
  • XL
  • XXL

Este parámetro no está habilitado para establecerse a nivel Vista Técnica si el parámetro  dlc.group_entities  es true. En tales casos, se recomienda crear una colección diferenciada y establecer el contexto de ejecución específico a nivel de colección.

Recomendado

dlc.referential_integrity


Permite la ejecución de la ingesta sin tener en cuenta la integridad referencial entre las tablas de la fuente de datos. De este modo, la colección se ingesta en tres fases dependiendo de las  constraints referenciadas  existentes en la fuente de origen con el siguiente orden: en primer lugar, las tablas sin referencias, en segundo lugar las tablas referenciadas por las tablas de la primera fase y, en tercer lugar, las tablas restantes.

Para bases de datos replicadas, es recomendable marcar el parámetro a false.

Si el parámetro no es false, al incluir una tabla en la colección, se debe incluir también sus tablas referenciadas, de lo contrario la parametrización será errónea.

Recomendado

dlc.group_entities


Indica si la ejecución se realiza ejecutando la ingesta de varias tablas de forma simultánea para la colección. Esto acelera el proceso de ingesta acortando considerablemente el tiempo total del proceso para una determinada colección.

Recomendado

dlc.group_entities_max_per_wf


Si  dlc.group_entities  es  true, define cuántas entidades se ingestan de forma simultánea.

Un valor recomendado depende de las condiciones específicas de cada colección (talla de  SparkResources  con la que se ejecutan las ingestas, ventana de disponibilidad de la ingesta en el entorno de analítica, etc). Un buen valor inicial puede ser de 10.

Recomendado

dlc.clone_gr


Indica si dlc copia las Quality Rules del asset origen en el asset destino.

Recomendado

dlc.clone_gr_overwrite


Indica a dlc si debe sobreescribir las Quality Rules en destino al realizar la copia de QRs desde origen.

Recomendado

dlc.spark_user


Indica el usuario spark con el que ejecutar el workflow de Rocket para ingestar la entidad.

Recomendado

dlc.table_partition

Permite especificar una clave de partición al escribir los datos en hdfs. Esta clave de partición debe ser un campo de la tabla a ingestar (o generado en el proceso de ingesta).

Recomendado

dlc.extra_options

Define parámetros adicionales necesarios para la ejecución de la ingesta. El formato a indicar como valor es el siguiente:

[{"clave_1":"valor_1", …, “clave_n”:”valor_n”}]

Recomendado

dlc.replicates_into
Path de hdfs donde se replicará la colección.ObligatorioSí (Related Asset)


Technical Views

En la siguiente tabla se presenta el listado de los metadatos únicos que deben presentar las vistas técnicas de una colección determinada.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

Data Dictionary


Campo que hace referencia al asset del Data Dictionary del que proviene la tabla o columna que compone la technical view.

Obligatorio

Fuente de datos


Nombre de la base de datos del sistema origen en el que se encuentran almacenadas las tablas.

Obligatorio

Alias


Acrónimo breve que permite reconocer con facilidad el activo.

Recomendado

Fecha actualización de los datos en el origen

atr_fec_act_ori

Campo que indica cuál fue la última fecha de actualización de los datos en el origen. Este metadato es diferente al de actualización del activo dentro de la propia plataforma.

Recomendado

No

Tipo de esquema


Establece el tipo de esquema del sistema origen de los datos.

Obligatorio

Modo de descubrimiento


Mecanismo mediante el cual se ha autodescubierto la fuente de datos origen.

Recomendado

Origen

atr_origen

Indica el asset del cuál proviene la tabla. Este atributo se usa para la definición del linaje.

Obligatorio

No

Transformación

atr_transformacion

Da información acerca de las posibles transformaciones que puede sufrir una tabla. Este atributo se usa para la definición del linaje.



Dentro de las Technical Views, a nivel de trabla existen unos atributos que son propios de la base de datos origen en la que se encuentran almacenados dichos datos y también otros metadatos que facilitan la parametrización y el trabajo con los procesos de ingesta. Para facilitar la lectura de dichos metadatos, se dividen en las dos tablas siguientes.

Metadatos relacionados con la base de datos

Todos los metadatos de este tipo comienzan con los caracteres "bdl".

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

bdl.partition


Establece si la tabla se encuentra o no particionada.

Recomendado

bdl.businessSchema


-

Obligatorio

bdl.forcedPartitionColumn


En modo automático, el usuario especifica qué columna quiere usar como columna de partición.

Obligatorio

bdl.limit


Sirve para definir un límite para todas las consultas sobre la tabla.

Obligatorio

bdl.lowerBound


El mínimo valor de  PartitionColumn  para decidir el número de particiones.

Obligatorio

bdl.numPartitions


Número de particiones. Junto a  lowerBound  (inclusivo) y   upperBound  (exclusivo), determinan las distintas particiones que formarán la cláusula  where  que se usan para dividir la   columna  partitionColumn  de manera uniforme

Obligatorio

bdl.optimization


Define que tipo de optimización se aplicará. Valores posibles:

  • None
  • Auto
  • Manual

Si el atributo no se usa, el agente BDL no hará nada.

Obligatorio

bdl.optimizationFailure


BDL ha intentado poner toda la información de partición en el catálogo, pero algo no es correcto.

Obligatorio

bdl.optimized


Indica si el agente ha terminado la optimización.

Obligatorio

bdl.options.customSchema


-

Obligatorio

bdl.options.oracle.jdbc.mapDateToTimeStamp


Metadato booleano cuyo valor false implica que no se realiza el mapeo automático entre los valores Date a Timestamp.

Obligatorio

bdl.options.sessionInitStatement


Establece el formato el formato de fechas en el acceso a Oracle. Para editar este formato es necesario que el metadato bdl.options.oracle.jdbc.mapDateToTimeStamp presente el valor false.

Obligatorio

bdl.partitionColumn


Nombre de la columna que se utilizará para realizar la partición.

Obligatorio

bdl.technicalSchema


-

Obligatorio

bdl.upperBound


El mínimo valor de  PartitionColumn  para decidir el número de particiones.

Obligatorio

bdl.whereClause


Cláusula where  que se utiliza para realizar el número de particiones totales junto con el resto de atributos.

Obligatorio

Metadatos relacionados con los procesos de ingesta

Todos los metadatos de este tipo comienzan con los caracteres "dlc".

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

dlc.replication


Indica si la  Collection  o  Technical View  debe ser ingestada.

Una vista técnica es ingestada sí se cumplen estas dos condiciones:

  • A nivel colección, el valor está establecido a true.
  • A nivel vista técnica, el valor no está establecido a false.

Obligatorio

dlc.workflow_path


Directorio donde se ubica el workflow en Rocket. El formato del path es el siguiente:

/home/{nombre_proyecto}/{path}

Donde:

  • nombre_proyecto es el nombre del proyecto en Rocket
  • Path es el directorio dentro del proyecto Rocket

De este modo, si se establece el parámetro a /home/dlc/dlc significa que queremos utilizar un workflow ubicado en el path /dlc del proyecto dlc.

En la actualidad, el parámetro se establece con el valor /home/dlc/dlc. 

Nota:  En caso de tener habilitado el metadato dlc.group_entities  a nivel de colección, este metadato no estará disponible a nivel de vista técnica.

Recomendado

dlc.workflow_name


Nombre del workflow en Rocket.

Por defecto, dlc-crossdata-parquet

En la actualidad, se realizan dos tipos de ingesta:

  • Son tablas que siempre se ingestan de forma completa.
  • Son tablas que no se ingestan completas sino por deltas.

Atendiendo a los tipos de ingesta, se utilizan los siguientes workflows:

  • dlc-crossdata-parquet-snapshot para ingestas completas/snapshots.
  • dlc-corssdata-parquet-delta para ingestas incrementales.

Recomendado

dlc.workflow_version


Versión del workflow de Rocket. Por defecto, 1.

En la actualidad, las versiones utilizadas para los workflows arriba indicados son los siguientes:

  • Cuando se utiliza dlc-crossdata-parquet-snapshot, se debe indicar  workflow_version  a 1.
  • Cuando se utiliza dlc-corssdata-parquet-delta, se debe indicar  workflow_version  a 1.

Recomendado

dlc.table_filter


Filtro where que se desea incluir en la migración, debe incluir la palabra where.

Este atributo se realiza cuando la ingesta de la tabla se realiza de forma incremental – por deltas – en lugar de completa - snapshots. Si no existe, la ingesta de la tabla será completa.

Recomendado

dlc.table_fields


Campos de la tabla que se desean migrar, si no se incluye se migrarán todos.

Recomendado

dlc.execution_context


Permite que dlc comunique a Rocket un contexto de ejecución específico. Se utiliza fundamentalmente para realizar la ingesta con unos recursos más elevados para aquellas tablas que, debido a su volumetría, se hace más complicada su ingesta. 

En el caso de ingestas automáticas, los contextos de ejecución  Environment y SparkConfigurations  permanecerán con sus valores por defecto, mientras que si se desean modificar, se define un contexto específico mediante el valor SparkResources, que puede tomar los siguientes valores.

  • XS
  • S
  • M
  • L
  • XL
  • XXL

Este parámetro no está habilitado para establecerse a nivel Vista Técnica si el parámetro  dlc.group_entities  es true. En tales casos, se recomienda crear una colección diferenciada y establecer el contexto de ejecución específico a nivel de colección.

Nota:  En caso de tener habilitado el metadato dlc.group_entities  a nivel de colección, este metadato no estará disponible a nivel de vista técnica.

Recomendado

dlc.clone_gr


Indica si dlc copia las Quality Rules del asset origen en el asset destino.

Actualmente se establece siempre a  false  a nivel Colección.

Nota:  En caso de tener habilitado el metadato dlc.group_entities  a nivel de colección, este metadato no estará disponible a nivel de vista técnica.

Recomendado

dlc.clone_gr_overwrite


Indica a dlc si debe sobreescribir las Quality Rules en destino al realizar la copia de QRs desde origen.

Nota:  En caso de tener habilitado el metadato dlc.group_entities  a nivel de colección, este metadato no estará disponible a nivel de vista técnica.

Recomendado

dlc.spark_user


Indica el usuario spark con el que ejecutar el workflow de Rocket para ingestar la entidad.

Recomendado

dlc.table_partition

Permite especificar una clave de partición al escribir los datos en hdfs. Esta clave de partición debe ser un campo de la tabla a ingestar (o generado en el proceso de ingesta).

Recomendado

dlc.extra_options

Define parámetros adicionales necesarios para la ejecución de la ingesta. El formato a indicar como valor es el siguiente:

[{"clave_1":"valor_1", …, “clave_n”:”valor_n”}]

Recomendado

Metadatos de las columnas de las Technical Views

Para las columnas que conforman las tablas dentro de la vista técnica, existen una serie de metadatos que son exclusivos de ellos. En la siguiente tabla, se muestran dichos metadatos.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

type


Establece el tipo del objeto de la columna en cuestión, de forma que pueda identificarse con facilidad si es un entero, un string u otro tipo de objeto.

Obligatorio

nullable


Este metadato establece cuando la columna admite valores nulos.

Obligatorio

ordinal


Establece la posición ordinal de la columna en la tabla.

Obligatorio

typeId


Establece el tipo de indicador que presenta la columna.

Obligatorio

precision


Valor entero que establece la precisión de variables numéricas.

Obligatorio

scale


Establece la escala de una variable numérica.

Obligatorio

isSigned


Valor booleano que establece si la columna está o no firmada.

Obligatorio

Sensibilidad

atr_sensibilidad

Indica el nivel de sensibilidad en materia de seguridad de la tabla o columna. La sensibilidad de los datos puede tomar uno de estos tres valores: “publico”, “personal_identificable” o “personal_especial”. Además, debe tener marcado la característica “Security” que aparece en las opciones de custom attributes.

Obligatorio

No

Business View

A continuación, se presenta una tabla con los metadatos específicos para las vistas de negocio que componen una colección determinada.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínsecos

Modo


Metadato que puede tomar un conjunto de valores predeterminados y que establece automáticamente la plataforma.

Obligatorio

Ontología


Nombre de la ontología en la que se construye la vista de negocio.

Obligatorio

Enlace ontología


Enlace a la ontología en la que se basa el activo.

Obligatorio

Colección


Nombre de la colección a la que pertenece el activo.

Obligatorio

Origen

atr_origen

Indica el asset del cuál proviene la tabla. Este atributo se usa para la definición del linaje.

Obligatorio

No

Transformación

atr_transformacion

Da información acerca de las posibles transformaciones que puede sufrir una tabla. Este atributo se usa para la definición del linaje.




Reglas de calidad

En la siguiente tabla se muestran los metadatos específicos de las reglas de calidad tanto genéricas como específicas.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

Auditoría


Campo seleccionable a la hora de crear reglas de calidad que define si los datos llevan, adicionalmente, a una tabla de auditoría.

Obligatorio

Umbral


Valor umbral por encima del cual los datos analizados cumplen con los criterios de calidad.

Obligatorio

Tipo de ejecución


Puede tomar dos valores, programado o embebido en función de cuándo y cómo se ejecuta la regla.

Obligatorio

Fuente de datos


Datos sobre los que se aplica la regla de calidad.

Obligatorio

Recursos


Exclusiva de las reglas de calidad planificadas. Tamaño de los recursos computacionales asociados al cálculo de la regla de calidad.

Obligatorio

Frecuencia de ejecución


Exclusiva de las reglas de calidad planificadas. Frecuencia con la que se ejecuta la regla de calidad en caso de que sea periódica.

Obligatorio

Tipo de medida

atr_medida

Establece el tipo de regla de calidad según los valores: completitud, actualidad, consistencia, precisión y unicidad.

Obligatorio

No

Carácter(*)

atr_caracter

Metadato binario que indica cuándo la regla de calidad es de carácter técnico o de negocio. Puede tomar los valores “tec” o “neg”.

Obligatorio

No

(*) El metadato carácter se creará o no a todas las reglas de calidad ya definidas en la herramienta en función al volumen de estas y el coste de recursos de dichas definiciones. Cualquier regla de calidad nueva que se cree deberá contener este metadato.

Ontologías

A continuación, se muestran los metadatos que son exclusivos de los elementos que componen una ontología.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

Ontología


Nombre de la ontología a la que pertenece el elemento en cuestión.

Obligatorio

About


Enlace a la definición de la ontología correspondiente.

Obligatorio

Versión

atr_version

Versión de la ontología a la que pertenece.

Obligatorio

No

Fecha actualización

atr_fec_act

Última fecha de actualización de la ontología a la que pertenece el elemento.

Obligatorio

No


Communities

A continuación, se muestran en una tabla los metadatos específicos de los assets de las comunidades que componen el glosario de negocio.

Es importante destacar que el metadato que establece el estado ya se encuentra especificado en el apartado de metadatos comunes. No obstante, en el caso de las comunidades este metadato no es intrínseco en la herramienta y, por tanto, es necesario generarlo a través del concepto de atributos adicionales.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

Versión

atr_version

Valor de la versión de la comunidad.

Recomendado

No

Estado

atr_estado

Estado que indica la posible inactividad de la comunidad.

Obligatorio

No


Domains    

En la siguiente tabla se muestran los metadatos específicos de los assets de los dominios que componen un dominio concreto dentro del glosario de negocio que se encuentra en la plataforma de Stratio.

Es importante destacar que el metadato que establece el estado ya se encuentra especificado en el apartado de metadatos comunes. No obstante, al igual que en el caso de las comunidades, este metadato no es intrínseco en la herramienta para los dominios y, por tanto, es necesario generarlo a través del concepto de atributos adicionales.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

Versión

atr_version

Valor de la versión del dominio.

Recomendado

No

Estado

atr_estado

Estado que indica la posible inactividad de la comunidad.

Obligatorio

No

Community

atr_community

Nombre de la comunidad a la que pertenece el dominio.

Obligatorio

No


Business terms/rules

En este apartado se agrupan en una tabla los metadatos específicos tanto de los términos como de las reglas de negocio que componen un dominio determinado.

Metadato

Nombre Custom Attribute

Descripción

Obligatoriedad

Intrínseco

Responsable actualización


Usuario responsable de la última actualización del término o regla de negocio.

Obligatorio

Versión

atr_version

Valor de la versión del dominio al que pertenece.

Recomendado

No

Community


Nombre de la comunidad a la que pertenece la regla o el término de negocio.

Obligatorio

Dominio


Nombre del dominio al que pertenece el término o regla de negocio.

Obligatorio



Rocket

Esta sección recoge la normativa aplicable para la gestión del módulo de Rocket de la herramienta Stratio, y al igual que en Governance, se distinguen dos grandes bloques para los metadatos. Por un lado, aquellos metadatos comunes a cualquier tipo de asset y, por otro lado, los metadatos específicos para cada uno de ellos.

Cabe destacar que, en Rocket, no se cuenta con la posibilidad de añadir metadatado adicional, al contrario que en Governance. 

Metadatos Comunes

Existe un conjunto de metadatos que se repiten a lo largo de todos los assets de la herramienta. Estos se generan automáticamente al crear el asset en cuestión, no obstante, el metadato “descripción” se debe rellenar manualmente de forma obligatoria.

Metadato

Descripción

Obligatoriedad

Intrínseco

Descripción

Descripción textual del activo. Debe ser lo más escueta posible al mismo tiempo que ofrezca las características generales del tipo de activo.

También se debe incorporar información extra a modo de metadato excepcional.

Obligatorio

Name

Nombre del asset

Obligatorio

Type

Establece la tipología del asset, pudiendo ser: AutoMLPipeline, Batch, Hybrid, Mlproject, Notebook, Streaming.

Obligatorio

Last modified

Fecha de la última modificación sufrida por el asset.

Obligatorio

Folder

Ruta de la carpeta en la que se encuentra ubicado el asset.

Obligatorio

Asset ID

Identificador del asset.

Obligatorio

Assets relacionados

Nombre del asset con los que se relaciona.

Opcional

Versión

Número de versión en la cual se encuentra el asset.

Obligatorio


Además, dentro del metadato de descripción, se deberán añadir los datos mostrados en la siguiente tabla. Estos se indicarán con el nombre mostrado en la tabla seguido de “: “, separándose entre sí con el carácter “; “.

Nombre

Descripción

Obligatoriedad

Descripcion

Descripción textual del activo. Debe ser lo más escueta posible al mismo tiempo que ofrezca las características generales del tipo de activo.

Obligatorio

Creacion

Fecha en la que se crea el asset en formato “dd/mm/aaaa" de la útlima versión del asset.

Obligatorio

Responsable

Usuario que se responsabiliza del funcionamiento de la última versión del asset.

Obligatorio

Es decir, una descripción genérica tendrá la siguiente apariencia:

<<"Descripcion: Primera etapa del proceso de carga de usuario"; "Creacion: 01/10/2023"; "Responsable: Juan Antonio González Pérez">>.



Nombramiento de assets

En esta sección se establecen las normas que deben seguirse para nombrar los assets que se creen dentro de la plataforma Big Data. Estas normas están enfocadas a los assets que componen la solución Stratio implantada en el SAS, encontrándose divididos en función del módulo al que pertenecen.

A su vez, se definen un conjunto de buenas prácticas para que sirvan como guía para cualquier usuario que quiera cualquier elemento de forma general. 

Nota: Esta normativa puede no ser cumplida siempre y cuando la OTBI de su aprobación explícita en caso de ser necesario su incumplimiento.


Buenas prácticas

A continuación, se expone un listado de las buenas prácticas generales que deben seguirse para el nombramiento de cualquier asset que se desee dar de alta en la plataforma Big Data.

  • La longitud de los nombres no debe superar el tamaño máximo que permite la herramienta, pero siempre con un límite máximo de 30 caracteres.
  • Los nombres han de ser claros y descriptivos, de forma que se entienda el contexto del activo con facilidad y, al mismo tiempo, sean lo más cortos posibles.
  • Solo se deben emplear caracteres alfanuméricos y barra baja, evitando así el uso de otro tipo de carácter especial.
  • Escribir todos los caracteres alfanuméricos del nombre en minúsculas, incluso cuando el activo se corresponde con una base, esquema o tabla de datos.
  • Los caracteres alfanuméricos han de escribirse en español siempre que sea posible y sin usar la letra “ñ”, escribiendo en su lugar “ny”.
    Por ejemplo: año_nacimiento  → anyo_nacimiento
  • Usar barra baja ( _ ) para separar identificadores dentro del nombre.
  • Cuando la fecha del asset se deba incluir en el propio nombre, debe aparecer al principio y seguir el formato de fecha recomendada por Oracle sin separaciones: YYYYMMDD y YYYYMMDD-24HHMMSS en el caso de ser necesario las horas, minutos, y segundos.
    Por ejemplo: 20220518-140847
  • En caso de necesitar un control de las versiones y revisiones del asset, este debe incluirse al final del nombre, separado por una barra baja. El formato tendrá la estructura XXrYY, donde XX e YY son dos números de dos dígitos que indican la versión y revisión del asset respectivamente. La letra r hace referencia a la release de la normativa. Se entiende por revisión cuando se realiza una pequeña modificación en el activo en cuestión sin que los procesos en los que está involucrado se vean muy afectados. Al contrario, un cambio de versión tiene lugar cuando la modificación del activo es más profunda, rompiéndose el modelo o definición de este y afectando en mayor medida a los procesos que lo rodean.
    Por ejemplo, nombre_asset_02r01
  • El nombre de los assets obsoletos y/o que se encuentren en desuso pero que se requieren conservar debe comenzar con los caracteres "_OLD_". Estos assets solo se deben encontrar en entornos de pruebas o desarrollo, nunca en el productivo.
  • El nombre del asset debe ser autocontenido y autodescriptivo, es decir, su comprensión no debe depender del contexto de la herramienta.
  • En caso de necesitar añadir una secuencia numérica, se debe intentar estimar cuál va a ser la cantidad total de elementos que van a ser nombrados. Por ejemplo, si el máximo es 999, entonces, la secuencia numérica empezaría por 001, 002, 003…
  • Se debe evitar, en todo momento, incluir información sensible en el nombre de los activos.
  • Para aquellos assets que dispongan de carácter técnico o de negocio, se deberá de indicar en el nombre esta misma característica, tal y como se establece en el presente documento.
  • Cuando el asset se está implementando en un entorno de desarrollo, debe contener el prefijo “dev”. Este prefijo se elimina de forma automática en la plataforma cuando se pasa a un entorno preproductivo y productivo.

Como añadido a todas estas buenas prácticas, es recomendable disponer de una tabla con todas las abreviaturas que se van a usar en los diferentes assets. En dicha tabla, se deben considerar, también, todos los ámbitos y subámbitos de información a los que pertenezcan los diferentes conjuntos de datos. De esta forma, se consigue que todos los usuarios miembros de la organización puedan acceder con facilidad a un determinado asset, comprendiendo sin dificultades el contexto de este. Dicha tabla se encuentra en la sección [Introducir enlace].

Estructura general de nombres

De forma general, se establece que el nombre de un asset contiene una serie de elementos comunes, los cuales se listan a continuación y en el orden en el que aparecen dentro del nombre.

    • Prefijo _OLD_ que indica que el asset se encuentra obsoleto.
    • Prefijo dev para indicar que el asset está definido en un entorno de desarrollo. Es obligatorio cuando se encuentra en el entorno de desarrollo, pero no debe ponerse para entornos preproductivos y productivos.
    • Fecha de creación del activo.
    • Abreviatura que indicará a qué elemento de la herramienta Stratio pertenece el activo concreto. Este valor aparece indicado en los apartados para cada asset en concreto.
    • Tipo de elemento específico que pueden presentar los diferentes assets de forma independiente. Esta parte del nombre es obligatoria en aquellos activos que presenten distinción de tipos.
    • Descripción que dota de contexto al nombre del activo.
    • Numeración correspondiente al activo en caso de ser necesaria.
    • Versionado del documento, compuesto por un conjunto de dígitos que indican el versionado y la revisión del asset respectivamente.

A continuación, se presenta el orden de los elementos comunes que pueden aparecer en el nombre de un asset.

Donde ZZ es una secuencia numérica ilustrativa de dos dígitos.

Es posible que para un asset en concreto sea necesario añadir una descripción extra a la estructura general aquí presentada. Cada una de estas particularidades se detallan en los apartados de los assets concretos en los que aparecen. Un ejemplo de esto es el carácter técnico o de negocio que presenta una regla de calidad.

Governance

Reglas de calidad

Toda regla de calidad empezará con los caracteres “rc” (regla calidad). El siguiente término indica el carácter técnico o de negocio de la propia regla de calidad, por lo tanto, debe presentar uno de los dos valores siguientes:

  • t.  Se refiere a una regla de calidad técnica.
  • n.  Se refiere a una regla de calidad de negocio.

Los siguientes elementos que lo componen constituirán la descripción del contexto de la regla de calidad. Esta descripción cambia en función de la información a la que se le aplica la regla de calidad. A continuación, se indica el tipo de regla de calidad, la cual puede tomar cinco valores diferentes, que se listan a continuación.

  • com.  Se refiere a las reglas de calidad de completitud.
  • act.  Aquellas reglas de calidad que miden la actualidad de los datos.
  • con.  Se refiere a aquellas reglas relacionadas con la consistencia de los datos.
  • pre.  Esta abreviatura se refiere a aquellas reglas de calidad que calculan la precisión de la información.
  • uni.  Aquellas reglas de calidad encargadas de medir la unicidad en un determinado conjunto de datos.
  • for. Indica que la regla de calidad comprueba el formato de los datos a los que se aplica.

Seguidamente, se indica si la regla de calidad es planificada o proactiva.

  • pr. Indica que la regla de calidad es de tipo proactivo.
  • pl. Se refiere a que la regla de calidad es de tipo planificado.

Además, se indica qué se hace con los datos que no cumplen la regla de calidad. Existen tres valores distintos.

  • pt. Indica que la regla de calidad no realiza ninguna acción sobre los datos (pass through).
  • mf. Establece que la regla de calidad mueve los datos erróneos a otra tabla (move to failed).
  • au. Se refiere a que la regla de calidad audita los datos erróneos (audit QR).

Finalmente, se indicará una breve descripción que contextualice el tipo de dato al que se está aplicando dicha regla.

Entonces, un ejemplo de regla de calidad técnica presentará la siguiente estructura:

rc_[t/n]_[com/act/con/pre/uni/for]_[pr/pl]_[pt/mf/au][Descripción breve]

Por ejemplo: rc_n_uni_pr_mf_dni_paciente

Technical Views

Para nombrar las diferentes Technical Views, es necesario tener en cuenta las diferentes tablas que la van a constituir y, a partir de las mismas, constituir un nombre que permita conocer sin ambigüedades toda la información que comprende el asset.

Siempre que la cantidad total de tablas no sea muy elevada, se recomienda indicar en el nombre del asset las abreviaturas de las tablas que lo componen. Cuando, en caso contrario, el número de tablas es muy elevado, el nombre debe ser capaz de describir el ámbito de información que contiene la Technical View.

Para este asset en concreto, no es necesario indicar un prefijo que indique el tipo de activo que constituye. Esto es debido a las siguientes dos razones.

  • El nombre que recibe la Techincal View se establece de forma automática, por lo que correspondería un cambio manual de todas las instancias que se creen de este activo.
  • En una misma colección las Technical Views y las Bussiness Vews están virtualizadas bases de datos diferentes, por lo que no es necesaria su discriminación ya que se encuentran sintácticamente diferenciadas. En el caso de las Business Views, la sintaxis es “nombre_coleccion”.

Por lo tanto, el nombre debe seguir las buenas prácticas descritas en el tercer apartado del presente documento.

[Descripción Technical View]

Por ejemplo: diagnost_domici_usuario

Business Views

Los nombres de las Business Views dependen tanto del conjunto de datos técnicos como del significado funcional concreto que se le dé a los mismos. Por lo tanto, el nombre debe contener la información necesaria para conocer los dos elementos que componen el asset.

El nombre de estos activos debe contener una descripción que indique los datos técnicos y el significado funcional que componen el activo. Esta descripción ha de ser sencilla y significativa, de manera que cualquier usuario de negocio sea capaz de entender el contexto de los datos técnicos que componen la Business View pertinente.

Para este asset en concreto, no es necesario indicar un prefijo que indique el tipo de activo que constituye. Esto es debido a las siguientes dos razones.

  • El nombre que recibe la Bussiness View se establece de forma automática, por lo que correspondería un cambio manual de todas las instancias que se creen de este activo.
  • En una misma colección las Technical Views y las Business Vews están virtualizadas bases de datos diferentes, por lo que no es necesaria su discriminación ya que se encuentran sintácticamente diferenciadas. En el caso de las Business Views, la sintaxis es “semantic_nombre_coleccion”.

Por lo tanto, el nombre debe seguir las buenas prácticas descritas en el tercer apartado del presente documento.

[Descripción Business View]

Por ejemplo: multicontagio_covid

Colecciones 

Las colecciones son combinaciones de Business y Technical Views, por lo tanto, en su nombre se debe establecer la información necesaria para poder identificar qué activos lo componen.

Inicialmente, se indica a cuál de las tres capas que se muestran a continuación pertenece la colección.

  • raw.  Se refiera a la capa raw.
  • cur.  Abreviatura de la capa curación.
  • con.  Abreviatura de la capa consumo.
  • ori.  Se refiere a la capa origen.

Es importante destacar que, para las capas de origen y raw, la herramienta Stratio no permite modificar los nombres de las tablas y columnas que se leen de forma automática de las fuentes orígenes. En este sentido, como los orígenes de datos se encuentran en Oracle, los nombres de sus tablas y columnas aparecerán en mayúsculas y con los nombres originales de las mismas.

Después de indicar la capa a la que pertenece la colección, se establece una descripción que sea capaz de contextualizar las Technical y Business Views que componen la propia colección. A continuación, se puede observar cuál es la estructura de nombramiento de este asset.

[raw/cur/con/ori]_[Descripción Colección]

Por ejemplo: cur_historia_salud

Para los casos de uso de analítica avanzada, se crean diferentes tipos de tabla en la capa de curado. Cada una de ellas presenta una finalidad específica y un sufijo al final de su nombre para identificarlo. Por este motivo, las colecciones que se generen para los casos de uso de analítica avanzada presentarán los siguientes sufijos.

  • par. Se refiere a aquellas tablas parciales, así como uniones de tablas, que sirven para desarrollar los casos de uso.
  • ent. Se refiere a aquellas tablas que sirven de entrenamiento para los diferentes modelos de analítica.
  • trf . Se refiere a tablas de transformación, aquellas que son finales del caso de uso pero que todavía no se encuentran preparadas para su explotación en la capa de consumo.

Constantes

Las constantes son unos elementos que, una vez definidos, se pueden usar en cualquier punto de la plataforma, por lo tanto, su nombre será específico del uso que se le quiera dar.

El nombre debe comenzar siempre por el prefijo “cons”, el cual indica que corresponde a una constante de la herramienta. La descripción del nombre debe ser suficientemente clara como para que cualquier usuario pueda entender el significado de esta. Al mismo tiempo, debe procurarse utilizar abreviaturas, siempre que sean entendibles, para reducir la longitud del nombre.

Cabe destacar que existen ciertas constantes que son intrínsecas de la herramienta y que, por tanto, no son modificables. Este tipo de activo conserva su nombre original, por lo que esta normativa no aplicaría en dichos casos.

A continuación, se muestra la estructura de nombramiento que debe presentar este activo.

cons_[Descripción Constante]

Por ejemplo: cons_edad_min_vacu_cov

Atributos adicionales

La herramienta Stratio permite añadir atributos personalizados a los elementos que componen su Data Catalog, estos son, las fuentes de datos, las colecciones y las Technical y Business Views.

Estos atributos dependen en gran medida de las necesidades del usuario que las defina y de los activos a los que complementa. Por lo tanto, los elementos que aparezcan en su nombre son muy variados.

Como regla general, se debe establecer un prefijo “atr” para indicar que ese atributo ha sido añadido de forma manual por un usuario concreto. Además, como en el resto de assets, el nombre ha de seguir las buenas prácticas establecidas en el tercer apartado del presente documento.

La estructura que presenta este activo es la que se muestra a continuación.

atr_[Atributo Adicional]

Por ejemplo: atr_cantidad_traumato

Cabe destacar que existen ciertos atributos adicionales que son intrínsecos de la herramienta y que, por tanto, no son modificables. Este tipo de activo conserva su nombre original, por lo que esta normativa no aplicaría en dichos casos. A continuación, se muestra un listado de las abreviaturas que puede presentar.

  • bdl.  Se usan para los atributos relacionados con la virtualización de los datos.
  • dlc.  Son atributos relativos a la ingesta automática de los datos.
  • ontology.  Atributos relacionados al asset de las ontologías.
  • related to. Relación nativa definida en la plataforma de Governance.

Activos de negocio

Existen ciertos activos que no están relacionados con otros elementos de la plataforma ni tampoco se puede acceder que no sea el propio menú de la herramienta. Por este motivo, no es necesario aplicar las normas expuestas en el presente documento. No obstante, se recomienda que todos los nombres que se establezcan no sean excesivamente largos y siempre se deben acortar lo máximo posible al mismo tiempo que se conserva su significado.

A continuación, se muestra un listado de estos activos que son exclusivamente de negocio.

  • Communities. Estos activos son las primeras entidades de mayor jerarquía que se definen en el apartado de la herramienta Stratio exclusivo para glosarios de negocio.
  • Domains. Para cada comunidad creada, se pueden crear elementos que agrupen diferentes dominios de información, llamados Domains.
  • Business Rules. Son objetos correspondientes a reglas de negocio que se definen para un dominio concreto.
  • Business Terms. Estos activos son términos de negocio que se definen para un dominio específico.
  • Process. Este tipo de activo sirve para definir diferentes procesos dentro de cada uno de los dominios previamente creados en la herramienta de forma particular.

Dentro de este orden jerárquico, es necesario que cada uno de los elementos definidos sean coherentes con la estructura establecida. Por lo tanto, se debe prestar especial atención a la estructura del glosario para que la información sea fácilmente localizable.

Ontologías

Las ontologías deben ser nombradas de tal manera que cualquier usuario con perfil de negocio sea capaz de comprender con facilidad y sin ambigüedad las clases y relaciones establecidas en la ontología.

Al igual que ocurre para el conjunto de activos de negocio anterior, no es necesario establecer en el nombre de las ontologías ningún prefijo concreto. Sin embargo, el nombre debe describir de forma breve y concisa, de forma que sea fácilmente legible para cualquier usuario de negocio. Al final del nombre debe indicarse la versión de la ontología, aunque, contrario a lo que se indica en el apartado de buenas prácticas, no se debe indicar la revisión de la versión. Esto ocurre porque la ontología evoluciona como una única entidad a la que no se le puede cambiar el nombre. Solamente se debe crear otra ontología con una nueva versión cuando se cambie profundamente la estructura de esta.

A continuación, se establece la estructura que debe tener una ontología.

 [Descripcion Ontología]_XX

Por ejemplo: sas_03

Rocket  

El módulo de Rocket se divide en diferentes elementos que presentan una posición o estructura determinada en la herramienta. Estos son:

  • Proyectos. Es el elemento principal en el cual se definen el resto de assets. Constituye el mayor nivel de detalle de gestión de acceso dentro del módulo.
  • Directorios. Al igual que en cualquier sistema operativo, dentro de un proyecto se pueden generar diferentes estructuras de directorios diferentes en los cuales se crean los workflows dentro de Rocket.
  • Assets. Estos elementos son los que se usan para construir procesos de manipulación del dato. 

Proyectos

Actualmente, los proyectos se encuentran definidos de forma previa. Estos proyectos han sido definidos en función de la capa de datos a la que pueden acceder y de los diferentes contratos que acceden a la plataforma Big Data. A continuación, se muestra una tabla con los diferentes proyectos definidos.

NombreCapa de la que leeProyectoCreación#Cores
cur_otbiRawGobernanza64
ana_otbiCurado / ConsumoGobernanza64
ana_gobernanza Curado / ConsumoGobernanza64
ana_asistencialCurado / ConsumoAsistencial64
ana_sigloCurado / ConsumoSIGLO32
ana_farmacia Curado / ConsumoFarmacia32
ana_sshhCurado / ConsumoServicios Horizontales32
ana_rrhhCurado / ConsumoRecursos Humanos32
ana_subdire_prov_seCurado / ConsumoSubdirección Provincial Sevilla32
ana_subdire_prov_maCurado / ConsumoSubdirección Provincial Málaga

No

-
ana_subdire_prov_jaCurado / ConsumoSubdirección Provincial Jaén

No

-
ana_subdire_prov_coCurado / ConsumoSubdirección Provincial CórdobaNo-
ana_subdire_prov_huCurado / ConsumoSubdirección Provincial Huelva32
ana_subdire_prov_grCurado / ConsumoSubdirección Provincial Granada32
ana_subdire_prov_alCurado / ConsumoSubdirección Provincial AlmeríaNo-
ana_subdire_prov_caCurado / ConsumoSubdirección Provincial CádizNo-

Directorios

Los directorios dentro de cada proyecto deben seguir las buenas prácticas establecidas en esta normativa. En concreto, se debe poner especial foco en los siguientes aspectos:

  • Todas las palabras deben ir en minúsculas. Esto se establece para facilitar el uso del buscador de la herramienta Big Data Stratio, el cual diferencia entre mayúsculas y minúsculas.
  • No se deben poner signos de puntación en los nombres de los directorios.
  • Aunque la separación entre palabras se definen en las buenas prácticas con el uso de  "_", Stratio Rocket no soporta este carácter en los nombres de los directorios. Por este motivo, se restringe al uso del guion, "-".

La estructuración de cada proyecto se debe dividir en función de los equipos y trabajos típicos que desarrollen en ese espacio, estando siempre enfocado en la optimización de la accesibilidad y entendimiento por parte de nuevos usuarios que carezcan del conocimiento experto.

Assets

Los trabajos de manipulación de datos se definen a través de los assets, que pueden ser de diferentes tipos.   

  • AutoMLPipeline
  • Batch
  • Hybrid
  • MLProyect
  • Notebook
  • Streaming

Por norma general, el nombre debe componerse de unas palabras descriptivas seguidos de su orden de ejecución y la versión del workflow. Estos dos últimos elementos se incorporan por los siguientes motivos.

  • Dentro de una misma ruta de directorios de un proyecto de Rocket se pueden definir varios workflows que dependan unos de otros. Por lo tanto, para facilitar el entendimiento general de un proceso, se debe poner en cada workflow el orden de ejecución, mediante "OEXX".
  • Es importante notar que, al contrario que en el resto de assets en los que el versionado es opcional, en el caso de los workflows es obligatorio ya que el trabajo de versionados es típico de los diferentes desarrollos llevados a cabo por los equipos del SAS. El valor de este versionado debe ser el último funcional del asset en cuestión y no de una versión desfasada.
  • Por último, como excepción a la norma general, no es necesario indicar el tipo de asset ya que viene indicado en la interfaz de la plataforma y en sus metadatos.

A continuación, se establece la estructura que debe tener un asset de Rocket.

 [Nombre workflow]_OEXX_YYrZZ

Normativa de documentación

Dentro de la metodología de trabajo establecida en el Marco de Trabajo de Governance, se encuentran diferentes procesos en los que es de obligado cumplimiento la elaboración de documentación que permita llevar un control de la información almacenada. Se distinguen dos normativas, siendo estas las referentes a documentación de nuevas fuentes de datos y de reglas de calidad

Nuevas fuentes de datos

Siempre que una nueva fuente de datos sea incorporada a la plataforma, los usuarios deben registrar dicha incorporación, así como posibles actualizaciones en fuentes de datos ya existentes. Para ello, en caso de una nueva fuente de datos o actualización de una existente, es necesario recoger determinada información específica referente a la misma que será registrada en el espacio destinado a ello, el cual debe mantenerse actualizado constantemente. La información que se debe recoger es la siguiente:

Campo

Descripción

Fuente origen

Nombre de la nueva fuente de datos origen.

Descripción

Detalle de la información contenida en la fuente de datos.

Responsable

Nombre de la persona responsable de la fuente de datos.

Fecha de creación

Fecha en la que la fuente de datos es incorporada a la herramienta.

Fecha de actualización

Si aplica, fecha en la que se realizó algún tipo de modificación a la fuente de datos.

Frecuencia de actualización

Indica cada cuánto tiempo tiene que actualizarse la fuente de datos ante la posibilidad de nuevos cambios.

Solicitante

Nombre de la persona solicitante de la nueva fuente de datos.

Solicitante actualización

En caso de que se necesite una actualización puntual, nombre de la persona solicitante de la misma.

Fuente

Indica la fuente de la cual proceden los datos.

Información técnica

Cadena de conexión a la fuente de datos


Reglas de calidad 

En lo que respecta a la definición de nuevas reglas de calidad, se debe llevar a cabo la documentación de las mismas, con el objetivo de realizar una buena gestión y mantenimiento de estas, contando así con un espacio que aúne toda la información relevante de las distintas reglas de calidad definidas y que permita, por tanto, evitar duplicidades, identificar nuevas necesidades, realizar seguimientos, etc.

La información que debe recogerse de cada una de las reglas identificadas es la siguiente:

Campo

Descripción

Nombre

Nombre de la regla de calidad.

Descripción

Detalle del objetivo principal de cada regla de calidad.

Tipo

Tipología de la regla de calidad, pudiendo ser: completitud, actualidad, consistencia, precisión, unicidad, y formato.

Responsable

Nombre de la persona responsable de la regla de calidad.

Ejecución

Tipología de la regla de calidad, pudiendo ser: Planificada o proactiva.

Fecha de creación

Fecha en la que la regla de calidad ha sido creada.

Fecha de modificación

Si aplica, fecha en la que se realizó algún tipo de modificación a la regla de calidad

Frecuencia de ejecución

En caso de ser planificada, indica cada cuánto tiempo tiene que ejecutarse la regla de calidad definida.

Solicitante

Nombre de la persona solicitante de la nueva regla de calidad.

Solicitante modificación

Nombre de la persona que solicita una modificación de la regla de calidad


Durante la definición de las distintas reglas de calidad dentro de la herramienta, es necesario establecer un umbral mínimo a partir del cual la regla de calidad reportará un error. Ante esto, existe la necesidad de identificar un umbral por defecto para las diferentes reglas creadas, siendo este el 90%. En determinados casos, será posible solicitar la modificación de dicho umbral mediante el proceso pertinente.

Normativa de gestión de assets 

A lo largo de la metodología definida en el Marco de Trabajo de Governance, se identifican una serie de normas que han de cumplirse para la gestión de los diferentes assets que presenta la herramienta. A continuación, se detallan dichas normas en función del asset al que afectan.

Gestión de relaciones

A lo largo del proceso de identificación y creación de relaciones entre los diferentes activos de la herramienta, es necesario regirse por una serie de normativas que garanticen la correcta gestión y mantenimiento de estas. Estas normativas giran en torno a dos aspectos fundamentales que se detallan a continuación.

Relaciones entre activos

En primer lugar, es necesario conocer entre que activos es necesario realizar el proceso de definición de relaciones, así como el sentido de estas. Esto es, no definir relaciones que sean generadas de forma automática y respetar aquellas que se hayan establecido por la organización como obligatorias.

A continuación, se detalla entre qué tipo de activos es posible la definición de relaciones.

Asset desde el que se establece la relación

Asset relacionado

Glosario de términos

Ontología

Vista de negocio

Vista técnica

Glosario de términos

Colección

Vista técnica

Asset de diccionario

Vista de negocio

Asset de diccionario

Tipos de relaciones

Por otro lado, se deben seguir una serie de directrices acerca de la tipología de relaciones que se han de crear. Esto es, en función de los activos que se quieran relacionar, así como el objetivo de cada una de estas relaciones, la tipología de estas estará determinada según se establece en la siguiente tabla.

Asset desde el que se establece la relación

Asset con el que se relaciona

Tipo de relación

Glosario de términos

Ontología

Define a

Glosario de términos

Colección

Define a

Vista técnica

Asset de diccionario

atr_origen

Vista de negocio

Asset de diccionario

atr_origen

Normativa de Airflow

Definición y usos

La plataforma Apache Airflow permite la creación, la planificación y el seguimiento de flujos de trabajo a través de la programación informática. Es una solución de código abierto que se utiliza para la arquitectura y la orquestación de circuitos de datos y para el lanzamiento de tareas. Concretamente, en el proyecto de Gobernanza de datos del SAS, se utiliza principalmente para lanzar procesos en un orden concreto y con una periodicidad concreta.



Los casos de uso más comunes son la automatización de ingestas de datos, acciones de mantenimiento periódicas y tareas de administración. Para ello, Airflow permite planificar trabajos como un CRON y también ejecutarlos bajo demanda.

Los procesos o tareas se agrupan en DAGs (gráfico acíclico dirigido) a los cuales se les da una frecuencia o periodicidad de ejecución customizada. El orden en el que se ejecuta cada proceso dentro del DAG puede ser cualquiera que defina el usuario, o también pueden ejecutarse todos a la vez, aunque normalmente se organizan teniendo en cuenta las dependencias y los flujos de datos.

La plataforma también da información acerca de cuándo ha sido la última ejecución de cada proceso y cuál es el estado de esa ejecución, es decir, si el proceso terminó con éxito, si hubo algún fallo, si está corriendo, si fue detenido, etc.

Implicación con Rocket, Python y Git

Los procesos agrupados en DAGs se conforman de cualquier acción que se pueda ejecutar en Python, desde limpiezas o ingestas hasta llamadas a APIs. En el contexto del del proyecto de la OTBI del SAS, lo más habitual es que sean llamadas a flujos de Rocket con parámetros definidos por el usuario. Es por ello por lo que Airflow se relaciona estrechamente con el módulo de Rocket de Stratio.

Tanto los DAGs de Airflow como su periodicidad y el resto de los parámetros se programan a través de Python. Estos scripts de Python se suben a Git, de tal forma que Airflow lee constantemente los scripts de Python almacenados en Git.

Git es una plataforma de gestión de repositorios de código fuente y de colaboración entre desarrolladores. Git permite a los equipos de desarrollo almacenar, administrar, revisar y colaborar en proyectos usando el sistema de control de versiones de la propia plataforma.

DAGs

Las siglas DAG se corresponden con Gráfico Acíclico Dirigido ya que representan el circuito de tareas teniendo en cuenta las dependencias y los flujos. También especifica el orden y la frecuencia de ejecuciones o reintentos.


No obstante, teniendo en cuenta el uso que hace de ellos la OTBI en el paradigma del SAS, se podría definir un DAG como una agrupación de workflows de Rocket.

Nomenclatura de DAGs

Dentro del contexto del proyecto del SAS, no es necesario definir el orden de ejecución de los DAGs, ya que el orden de las tareas que contiene el DAG va incluido dentro del script. Además, el orden de tareas puede verse en la pestaña “Graph” de Airflow, dónde también puede observarse la dependencia y el paralelismo de las tareas.

Airflow también permite crear grupos de tareas y establecer dependencias entre dichos grupos, de modo que se podría programar que al finalizar una tarea se ejecute un grupo de tareas en paralelo, y que al finalizar todas ellas, se lance otra tarea de manera secuencial.




En la imagen anterior, se observa como tenemos un grupo de tareas llamado “curation_analysis”, que contiene 3 tareas. Una de esas subtareas, es otro grupo que contiene a su vez 5 tareas (“exec_curation_analysis”). Siempre y cuando sea posible, han de organizarse las tareas en grupos y subgrupos, siguiendo el ejemplo anterior, con el fin de facilitar la comprensión del DAG.

No es necesario incluir en la nomenclatura un control de versiones, ya que esto se realiza automáticamente gracias al sistema de control de versiones de Git.

No obstante, sí que es necesario establecer las normas que deben seguirse para nombrar los DAGs que se creen dentro de la herramienta de Git:

  • La longitud de los nombres no debe superar el tamaño máximo que permite la herramienta, pero siempre con un límite máximo de 40 caracteres.
  • Los nombres han de ser claros y descriptivos, de forma que se entienda el contexto del DAG con facilidad y, al mismo tiempo, sean lo más cortos posibles.
  • Solo se deben emplear caracteres alfanuméricos y barra baja, evitando así el uso de otro tipo de carácter especial.
  • Escribir todos los caracteres alfanuméricos del nombre en minúsculas.
  • Los caracteres alfanuméricos han de escribirse en español siempre que sea posible y sin usar la letra “ñ”, escribiendo en su lugar “ny”.
  • Usar barra baja (_) para separar identificadores dentro del nombre.
  • El nombre de los DAGs obsoletos y/o que se encuentren en desuso pero que se requieren conservar debe comenzar con los caracteres "_OLD_". Estos DAGs solo se deben encontrar en branchs de pruebas o desarrollo, nunca en el productivo.
  • El nombre del DAG debe ser autocontenido y autodescriptivo, es decir, su comprensión no debe depender del contexto de la herramienta.
  • Se debe evitar, en todo momento, incluir información sensible en el nombre de los DAGs.

Etiquetas de DAGs

A cada DAG se le puede poner una o varias etiquetas dentro del script de Python. Esta etiqueta aparecerá en Airflow debajo del nombre del DAG, obteniendo así la posibilidad de filtrar los DAGs en Airflow, una opción muy ventajosa a la hora de buscar un DAG en concreto entre cientos de ellos.




Para mantener una buena organización y facilitar la búsqueda de DAGs, se le ha de poner a cada uno de ellos una etiqueta que haga referencia al proyecto al que pertenecen. Por ejemplo, si hay un proyecto de Rocket llamado “ana_omop” que contiene los workflows a los que llaman los procesos o tareas que conforman un DAG, ese DAG ha de llevar la etiqueta “ana_omop”. Hay casos en los que un DAG puede llamar a workflows de diferentes proyectos de Rocket, en dicho caso, el DAG debe tener las etiquetas de ambos proyectos. Otra nomenclatura a seguir sería tener en cuenta el propósito del proyecto. Por ejemplo, en un desarrollo de usuarios, se debería etiquetar a esos DAGs con la etiqueta “usuarios”, de forma adicional a la etiqueta de proyecto.

En la medida de lo posible, es obligatorio que las etiquetas coincidan con los nombres de las carpetas donde están alojados los DAGs.


Estructura de carpetas en Git

Tanto la carpeta “dags” como la carpeta “librerías” son desarrollos de la UTE los cuáles no deben modificarse en ningún caso. Para los desarrollos de la OTBI se crean dos carpetas nuevas cuya jerarquía ha de llevarse a cabo tal y como se dicta en los siguientes puntos.

Carpetas DAGs

En el repositorio Git hay una carpeta llamada “dags” en la que la UTE ha creado una subcarpeta por cada DAG con sus respectivos scripts de inicio y script de tareas. Esta carpeta no se puede modificar, ni tampoco sus contenidos, ya que afectaría a los casos de usos ya entregados.

Para organizar los DAGs que se van desarrollando por parte de la OTBI se ha creado una carpeta llamada “dags_sas” en la que se deberán recoger dichos desarrollos. Esta separación es necesaria porque la OTBI trabaja sus desarrollos en tres branchs distintos (dev, pre y master) y la hora de promocionar una carpeta de un branch a otro los cambios se pierden. Ello implica que si se promociona alguna subcarpeta de “dags” (desarrollos de la UTE) se estarían modificando casos de uso ya entregados, algo que está prohibido. Por este motivo se deben separan los desarrollos de la UTE de los desarrollos de la OTBI.

Dentro de la carpeta de “dags_sas” (desarrollos de la OTBI), la organización debe consistir en agrupar los DAGs por proyectos de Rocket. Además, es una organización lógica, ya que los procesos o tareas de Airflow son, en su mayoría, llamadas a workflows de Rocket y éstos se organizan en proyectos.



Carpetas librerías

Los DAGs de la UTE (recogidos en la carpeta “dags”) frecuentemente invocan a ciertas funciones que se almacenan en una carpeta llamada “librería”. De nuevo, para no afectar a los desarrollos ya entregados por parte de la UTE, la carpeta “librerías” no se puede modificar ni tampoco sus contenidos.

Dada la premisa anterior, la OTBI ha creado una carpeta llamada “librería_sas” para recopilar ahí las funciones a las que se invocará en los scripts de sus DAGs. Del mismo modo que en la carpeta “dags_sas”, la carpeta “librería_sas” se debe organizar por proyectos de Rocket.


  • Sin etiquetas