Descobrir a linhagem de dados nunca foi tão fácil

Linhagem de dados Python (versão Gudu SQLFlow Lite para python)

O pacote de linhagem de dados Python (também conhecido como versão Gudu SQLFlow Lite para Python) é um conjunto de ferramentas usado para analisar instruções SQL e procedimentos armazenados de vários bancos de dados para obter dados complexos. linhagem de dados  relacionamentos e visualizá-los.

Versão Gudu SQLFlow Lite para python permite que desenvolvedores Python integrem rapidamente recursos de análise e visualização de linhagem de dados em seus próprios aplicativos Python. Ele também pode ser usado no trabalho diário por cientistas de dados para descobrir rapidamente a linhagem de dados de scripts SQL complexos que geralmente são usados em trabalhos ETL para fazer a transformação de dados em uma plataforma de dados enorme.

A versão Gudu SQLFlow Lite para python é gratuita para uso não comercial e pode manipular quaisquer instruções SQL complexas com um comprimento de até 10k, incluindo suporte para procedimentos armazenados. Ele suporta dialeto SQL de mais de 20 grandes fornecedores de banco de dados, como Oracle, DB2, Snowflake, Redshift, Postgres e assim por diante.

A versão Gudu SQLFlow Lite para python inclui uma biblioteca Java para analisar instruções SQL complexas e procedimentos armazenados para recuperar relacionamentos de linhagem de dados, um arquivo Python que utiliza jpype para chamar as APIs na biblioteca Java e uma biblioteca JavaScript para visualizar relacionamentos de linhagem de dados.

A versão Gudu SQLFlow Lite para python também pode extrair automaticamente restrições de tabela e coluna, bem como relacionamentos entre tabelas e campos, de Scripts DDL exportados do banco de dados e gerar um Diagrama ER.

Visualizar automaticamente a linhagem de dados

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

Podemos obter automaticamente os relacionamentos de linhagem de dados contidos na seguinte instrução Oracle SQL.

CRIAR VIEW vsal AS SELECT a.deptno "Departamento", a.num_emp / b.total_count "Funcionários", a.sal_sum / b.total_sal "Salário" 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 ; INSERIR TODOS QUANDO ottl < 100000 ENTÃO EM small_orders VALORES(oid, ottl, sid, cid) QUANDO ottl > 100000 e ottl < 200000 ENTÃO EM medium_orders VALORES(oid, ottl, sid, cid) QUANDO ottl > 200000 ENTÃO EM large_orders VALORES(oid, ottl, sid, cid) QUANDO ottl > 290000 ENTÃO EM special_orders SELECIONAR 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 ONDE o.customer_id = c.customer_id;

E visualize-o como:

Recursos do pacote de linhagem de dados Python:

  • Gere visualizações interativas de linhagem de dados
  • Crie linhagem de dados em JSON/CSV/GRAPHML
  • Suporte SQL de mais de 20 grandes fornecedores de banco de dados

Como funciona a ferramenta de linhagem de dados Python


Agora, todos os componentes acima estão empacotados em um único repositório no GitHub e você os obtém gratuitamente simplesmente clonando-os.

clone o repositório https://github.com/sqlparser/python_data_lineage.git

– Não é necessária nenhuma conexão com banco de dados.
– Não é necessária conexão com a internet.

Você só precisa de um JDK e um interpretador Python para executar este pacote de linhagem de dados Python localmente.