SQLFlowインジェスター (旧Grabit)は、テーブル、ビュー、ストアドプロシージャ、関数、トリガー、パッケージのDDLなど、データ資産からSQLを収集し、それをSQLFlowに渡します。 列レベルのデータリネージ 分析。JDBC を介してライブ データベースから、GitHub や Bitbucket などのリビジョン システムから、ローカル ファイルシステムから読み取ります。抽出します。 メタデータのみ そして、テーブルの行を読み込むことはありません。
3分で実行できます: インジェスターにデータベースを指定すると、メタデータバンドルが書き込まれ、SQLFlowがそれを対話型の列レベルの系統図に変換します。すべてコマンドラインから実行されるため、cronジョブとして簡単にスケジュールできます。
3種類のソースからSQLを収集する

データベースに接続する
DDLを抽出する — テーブルを作成する, ビューの作成Oracle、SQL Server、Snowflake、PostgreSQL、およびその他9つの方言からJDBC経由でストアドプロシージャ、関数、トリガー、制約を取得し、分析のためにSQLFlowに送信します。
改訂システムに接続する
GitHub、Bitbucket、その他のリビジョン管理システムからSQLファイルを直接取得し、SQLFlowに送信して、チームが既にバージョン管理しているコードからデータリネージを構築します。


ファイルシステムを検索
ローカルディレクトリツリー内のSQLファイルを見つけてSQLFlowにプッシュすることで、データの系統を視覚化できます。これは、データベースやリポジトリに格納されなかったスクリプトやエクスポートに便利です。
エクスポート形式は2種類:単一JSONとシャーディング形式
インジェスターがデータベースを読み込むと、正規化されたメタデータバンドル(カタログ構造と、すべてのビュー、プロシージャ、関数、トリガー、外部キーのDDLテキスト)が書き込まれます。1つのモデルでサポートされているすべての方言をカバーし、各ベンダーは自社にないオブジェクトタイプを省略します。このバンドルは2つの形式で提供されます。
| 単一のJSON | シャーディング済み(デフォルト) | |
|---|---|---|
| ディスク上 | 1つ metadata.json ファイル | ディレクトリ: manifest.json + カタログ/ + ソース/ + 索引/ |
| DDLが住んでいる場所 | インラインで、 server[].queries[] | で source/*.jsonlバイトオフセットによって位置が特定されます インデックス/*.idx |
| 最適 | 中小規模のカタログ | 大規模な資産 — カタログは常駐し、数ギガバイトのDDLストリームと検索を実行します |
| 追加特典 | 最も簡単に消費できる | シャードごとのSHA-256ハッシュ、オブジェクトごとのコンテンツハッシュ、増分エクスポート、ブロック圧縮 |
単一のJSON 不動産全体を1つのファイルにまとめ、各オブジェクトのDDLをインラインで記述します。これは解析が最も簡単な方法です。 シャード 大規模環境のデフォルト設定です。メモリ制限付きでエクスポートをストリーミングし、構造カタログを小さく常駐させ、インデックスを使用してDDLをランダム検索可能にし、マニフェストを最後に書き込むことで、コンシューマーが書きかけのエクスポートを見ることがないようにしています。フィールドごとの詳細な参照: 単一のJSONエクスポート と シャーディングされたエクスポート.
SQL Serverデータベースのデータリネージを3分で発見
コマンドラインからスケジュールに基づいて実行する
インジェスターはコマンドラインから実行する自己完結型のJavaツールなので、自動化された繰り返し可能な抽出のためにcronジョブとしてきれいにスケジュールできます。パスワードは環境変数またはファイルから指定できるため、プロセス引数に表示されることはありません。また、きめ細かな包含/除外フィルタにより、抽出するデータベース、スキーマ、オブジェクトを正確に制御できます。 SQLFlow Ingester のドキュメント に 始める.
データベースから家系図を取得する
SQLFlow Ingesterをダウンロードし、データベースを指定して、そのメタデータを列レベルのデータリネージに変換します。