Python データ リネージ (Python 用 Gudu SQLFlow Lite バージョン)
Pythonデータ系統パッケージ(別名Gudu SQLFlow Lite版Python)は、さまざまなデータベースのSQL文とストアドプロシージャを分析して複雑なデータを取得するために使用されるツールセットです。 データ系統 関係性を理解し、視覚化します。
Python 用 Gudu SQLFlow Lite バージョン Python開発者は、データリネージ分析と可視化機能を独自のPythonアプリケーションに迅速に統合できます。また、データサイエンティストは、大規模なデータプラットフォームでETLジョブのデータ変換を行う際に通常使用される複雑なSQLスクリプトから、データリネージを迅速に検出するために、日常業務でも活用できます。
Gudu SQLFlow Lite版(Python用)は非商用利用は無料で、最大10Kバイトの複雑なSQL文を処理でき、ストアドプロシージャもサポートしています。Oracle、DB2、Snowflake、Redshift、Postgresなど、20社以上の主要データベースベンダーのSQL方言をサポートしています。
Python 用の Gudu SQLFlow Lite バージョンには以下が含まれます Javaライブラリ 複雑なSQL文やストアドプロシージャを分析してデータ系統関係を取得するため、 Pythonファイル jpypeを利用してJavaライブラリのAPIを呼び出すもの、そして JavaScriptライブラリ データ系統関係を視覚化します。
Gudu SQLFlow LiteのPython版では、テーブルと列の制約、テーブルとフィールドの関係も自動的に抽出できます。 データベースからエクスポートされたDDLスクリプト ER 図を生成します。
データ系統を自動的に視覚化する
python dlineage.py /t oracle /f test.sql /graph
次の Oracle SQL 文に含まれるデータ系統関係を自動的に取得できます。
CREATE VIEW vsal AS SELECT a.deptno "部署", a.num_emp / b.total_count "従業員数", a.sal_sum / b.total_sal "給与" 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 ; INSERT ALL WHEN ottl < 100000 THEN INTO small_orders VALUES(oid, ottl, sid, cid) WHEN ottl > 100000 and ottl < 200000 THEN INTO medium_orders VALUES(oid, ottl, sid, cid) WHEN ottl > 200000 THEN INTO large_orders VALUES(oid, ottl, sid, cid) WHEN ottl > 290000 THEN INTO special_orders SELECT 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 FROM orders o, customers c WHERE o.customer_id = c.customer_id;
これを次のように視覚化します。

Python データ系統パッケージの機能:
- インタラクティブなデータ系統の視覚化を生成する
- JSON/CSV/GRAPHMLでデータ系統を作成する
- 20 を超える主要なデータベース ベンダーの SQL をサポート
Python データ系統ツールの仕組み

現在、上記のすべてのコンポーネントは github 上の単一のリポジトリにパッケージ化されており、クローンするだけで無料で入手できます。
git clone https://github.com/sqlparser/python_data_lineage.git
– データベース接続は必要ありません。
– インターネット接続は必要ありません。
この Python データ リネージ パッケージをローカルで実行するには、JDK と Python インタープリターだけが必要です。