Descubrir el linaje de datos nunca había sido tan fácil

Linaje de datos de Python (versión Gudu SQLFlow Lite para Python)

El paquete de linaje de datos de Python (también conocido como la versión Gudu SQLFlow Lite para Python) es un conjunto de herramientas que se utiliza para analizar declaraciones SQL y procedimientos almacenados de varias bases de datos para obtener resultados complejos. linaje de datos  relaciones y visualizarlas.

Versión Gudu SQLFlow Lite para Python Permite a los desarrolladores de Python integrar rápidamente funciones de análisis y visualización de linaje de datos en sus propias aplicaciones Python. También puede ser utilizado en el trabajo diario por científicos de datos para descubrir rápidamente el linaje de datos a partir de scripts SQL complejos que suelen emplearse en tareas ETL para la transformación de datos en una enorme plataforma de datos.

La versión Lite de Gudu SQLFlow para Python es gratuita para uso no comercial y puede manejar cualquier sentencia SQL compleja con una longitud de hasta 10k, incluyendo compatibilidad con procedimientos almacenados. Es compatible con el dialecto SQL de más de 20 importantes proveedores de bases de datos, como Oracle, DB2, Snowflake, Redshift, Postgres, etc.

La versión Gudu SQLFlow Lite para Python incluye una biblioteca de Java para analizar sentencias SQL complejas y procedimientos almacenados para recuperar relaciones de linaje de datos, un archivo Python que utiliza jpype para llamar a las API en la biblioteca Java, y una biblioteca de JavaScript para visualizar relaciones de linaje de datos.

La versión Gudu SQLFlow Lite para Python también puede extraer automáticamente restricciones de tablas y columnas, así como relaciones entre tablas y campos, desde Scripts DDL exportados desde la base de datos y generar un diagrama ER.

Visualizar automáticamente el linaje de datos

Ejecutando este comando:
python dlineage.py /t oracle /f test.sql /graph

Podemos obtener automáticamente las relaciones de linaje de datos contenidas en la siguiente declaración SQL de Oracle.

CREATE VIEW vsal AS SELECT a.deptno "Departamento", a.num_emp / b.total_count "Empleados", a.sal_sum / b.total_sal "Salario" FROM (SELECT deptno, Count() num_emp, SUM(sal) sal_sum FROM scott.emp WHERE city = 'NYC' GROUP BY deptno) a, (SELECT Count() total_count, SUM(sal) total_sal FROM scott.emp WHERE city = 'NYC') b ; INSERTAR TODO CUANDO ottl < 100000 ENTONCES EN small_orders VALORES(oid, ottl, sid, cid) CUANDO ottl > 100000 y ottl < 200000 ENTONCES EN medium_orders VALORES(oid, ottl, sid, cid) CUANDO ottl > 200000 ENTONCES en large_orders VALORES(oid, ottl, sid, cid) CUANDO ottl > 290000 ENTONCES EN special_orders SELECCIONAR o.order_id oid, o.customer_id cid, o.order_total ottl, o.sales_rep_id sid, c.credit_limit cl, c.cust_email cem DE orders o, customers c DONDE o.customer_id = c.customer_id;

Y visualízalo como:

Características del paquete de linaje de datos de Python:

  • Generar visualizaciones interactivas de linaje de datos
  • Crear linaje de datos en JSON/CSV/GRAPHML
  • Admite SQL de más de 20 proveedores de bases de datos principales

Cómo funciona la herramienta de linaje de datos de Python


Ahora, todos los componentes anteriores están empaquetados en un único repositorio en Github y puedes obtenerlos gratis simplemente clonándolos.

git clone https://github.com/sqlparser/python_data_lineage.git

– No se necesita conexión a la base de datos.
– No se necesita conexión a Internet.

Solo necesitas un JDK y un intérprete de Python para ejecutar este paquete de linaje de datos de Python localmente.