Este post forma parte de una serie de 3 post sobre Dataplex. En el primer post “Gobernando tu plataforma con Dataplex” hacemos una introducción al servicio. En este segundo post vemos cómo mejorar la calidad y el linaje. Se cierra la serie con seguridad, esa gran olvidada, en el que nos centraremos en cómo securizar con Dataplex.

Ya que conocemos Dataplex y hemos visto las posibilidades que ofrece para hacer autodescubrimiento del dato en el anterior post, ahora vamos a tratar aspectos fundamentales del gobierno del dato y responder a las preguntas ¿qué significa este dato? o ¿de dónde viene?. Además, veremos las opciones de data quality que tiene Dataplex sobre nuestros datos.

Data Catalog

Una vez descubierto qué datos hay en nuestra compañía, necesitamos saber qué significan esos datos y, en general, tener toda la información posible respecto a ellos.

Business Glossary

Podemos definir un Business Glossary para dar una definición o explicación funcional respecto a un dato. Dataplex permite organizar tu Business Glossary en 3 niveles: (Glossary, Category y Term).

Estructura del business glossary de dataplex

Entre las principales características se encuentran:

  1. Definir un Steward a cualquier nivel para una descripción.
  2. Vincular sinónimos y términos relacionados con una definición.
  3. Estos términos pueden adjuntarse a una columna de cualquier Entry que tenga Dataplex. Tablas o Fileset.

Metadata Management

Dataplex introduce el concepto de Tag Templates para gestión de metadatos. Un Tag Template contiene etiquetas que pueden tiparse. A continuación vemos una imagen de un Tag Template que contendrá información referente a la ingestión de datos:

tabla de ejemplo con datos string, enum, datetime

Una vez definidas esas etiquetas, podemos asociarla a cualquier Entry que gestione Dataplex, como por ejemplo: Dataset, Fileset, Tablas, Columnas.

imagen que muestra los detalles de la tabla de bigquery

Data Lineage

Dataplex ofrece lineage de datos automático sobre servicios de GCP, de manera que permite trazar cómo se mueve el dato a través de los sistemas. Actualmente soporta los siguientes servicios de procesamiento y de almacenamiento.

Almacenamiento de datos:

Servicios de procesamiento:

Servicios de procesamiento

El modelo de datos está compuesto por los siguientes conceptos:

  1. Process: operación de transformación de datos realizada por un sistema.
  2. Run: ejecución de un proceso. Un proceso puede tener múltiples Runs. Contiene información sobre fechas de inicio de ejecución, fecha de fin, estado, atributos adicionales, etc.
  3. Event: representa un punto en el tiempo que define qué operación se ha realizado. Contiene información sobre el origen del dato, el destino, etc.

Como podemos ver, es fácil hacer data lineage si nuestro scope tecnológico está centrado en Google. Pero, ¿qué ocurre cuando tenemos otras fuentes de datos? En se caso existen 3 aproximaciones:

  1. Google proporciona bastantes conectores para bases de datos relacionales, herramientas de BI, Hive, así como herramientas de catálogo como Apache Atlas.
  2. Crear entradas manuales en Dataplex.
  3. Importar OpenLineage events a través de Data Lineage API que proporciona Dataplex.

Data Quality

Dataplex proporciona dos características a la hora de abordar la temática de Data Quality. Por un lado, el perfilado de datos y, por otro, la calidad del dato. Aunque ambos procesos (scan en adelante) tienen la misma anatomía desde el punto de vista de arquitectura, difieren el propósito.

Los posibles orígenes de datos para un scan de data quality pueden ser tablas de bigquery, bien sean nativas o tablas externas, y entidades propias de Dataplex.

De manera general, podemos hablar de los siguientes pasos a la hora de hacer un proceso de Data Quality en Dataplex:

  1. Definir reglas de data quality (sólo para Quality Scans). Entre estas se pueden encontrar:
  1. Configurar la ejecución de scan. Aquí podemos establecer la periodicidad, dónde se escribirán los resultados.
  2. Analizar los resultados.
  3. Establecer una monitorización y alertado.
  4. Solucionar problemas de calidad.

Profile Scans

Permite obtener información estadísticas de cada una de las columnas que componen una tabla de BigQuery. La información obtenida dependerá del tipo de datos que tenga esa columna. Para valores numéricos suele ser más completa que para tipo string o columnas anidadas.

Datos estadísticos de la columna “humity” de un tabla con datos de sensores
Datos estadísticos de la columna “humity” de un tabla con datos de sensores

Dataplex permite configurar este proceso de profiling con las siguientes características:

Un caso de uso típico podría ser el análisis del precio medio de un ticket de compra. Supongamos que tenemos una tabla en BigQuery donde guardamos el importe de los tickets de compra. Sabemos que la media en nuestra compañía es de 20€ por ticket. En este caso, podríamos hacer un profile scan sobre esa columna para saber la media y notificar en caso de que el precio medio baje por debajo de 15€ para tomar las medidas oportunas.

Ejemplo de profile scan

Quality Scans

Los Data Quality Scan no difieren mucho respecto a los Profile Scan, salvo por el hecho de que se necesita definir una serie de reglas de calidad para que se ejecuten.

Entre estas se pueden encontrar:

Por otro lado, debemos saber cómo se aplican esas reglas y, en este aspecto, tenemos dos niveles:

Las reglas SQL pueden ser nivel de fila (comprobar si una columna es mayor que otra) o agregadas (comprobar si la media de una columna es mayor que la media de otra columna de otra tabla).

Una vez definidas estas reglas a través de un yaml, Dataplex utiliza CloudDQ para validar ese yaml y realizar el proceso de Data Quality.

Ejemplo de quality scans

Como podemos ver, la arquitectura es la misma salvo que tenemos que definir las reglas de calidad que se van a comprobar en el Quality Scan.

Con esto terminamos por hoy con Dataplex. Aún nos queda un aspecto fundamental que tratar como es el tema de seguridad y conclusiones, pero eso lo veremos en el siguiente post.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete