{"id":6764,"date":"2026-07-12T02:08:07","date_gmt":"2026-07-12T10:08:07","guid":{"rendered":"https:\/\/www.gudusoft.com\/duckdb-data-lineage\/"},"modified":"2026-07-12T02:08:07","modified_gmt":"2026-07-12T10:08:07","slug":"duckdb-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/de\/duckdb-datenherkunft\/","title":{"rendered":"DuckDB-Datenherkunft: Spaltenbasierte Herkunftsanalyse f\u00fcr In-Process-Analysen"},"content":{"rendered":"<p><strong>DuckDB-Datenherkunft<\/strong> ist die Spaltenebene-Abbildung, die zeigt, wie Daten durch Ihre DuckDB SQL-Abfrage flie\u00dfen: welche Parquet-Dateien und Quelltabellen jede abgeleitete Tabelle speisen und welche Joins, Casts, Filter und Aggregationen durchgef\u00fchrt werden. <strong>Gudu SQLFlow<\/strong> Erstellt diese Zuordnung automatisch: Es analysiert Ihre DuckDB-Skripte mit einem speziellen DuckDB-Dialektparser und rendert ein interaktives Herkunftsdiagramm, ohne eine einzige Abfrage auszuf\u00fchren oder Ihre Daten zu ber\u00fchren.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#eef7fb;padding-top:24px;padding-bottom:24px\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>Probieren Sie es jetzt aus:<\/strong> F\u00fcgen Sie eine beliebige DuckDB-Abfrage in die folgende Zeile ein: <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=duckdb-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">kostenloser Online-SQL-Lineage-Visualisierer<\/a>W\u00e4hlen Sie den DuckDB-Dialekt aus und erhalten Sie innerhalb von Sekunden ein Spalten-Herkunftsdiagramm. F\u00fcr die Einzelnutzung gibt es eine kostenlose Version.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Warum DuckDB-Pipelines eine echte Herkunftsgeschichte verdienen<\/h2>\n\n\n\n<p>DuckDB hat sich still und leise zu einer ernstzunehmenden Dateninfrastruktur entwickelt. Es f\u00fchrt die Transformationsschicht in <code>dbt-duckdb<\/code> Projekte, lokale Analysen, die sp\u00e4ter ins Data Warehouse \u00fcbertragen werden, sind in Anwendungen und Notebooks eingebettet und dienen zunehmend als Rechenkern f\u00fcr Parquet-Data-Lakes. Die SQL-Abfragen in diesen Pipelines treffen \u00e4hnliche Entscheidungen wie die SQL-Abfragen im Data Warehouse: Sie berechnen Ums\u00e4tze, filtern Kunden und erstellen die Tabellen, die ein Dashboard ausliest.<\/p>\n\n\n\n<p>Dennoch wird bei DuckDB-Projekten \u00fcblicherweise nicht die strenge Datenherkunftsanalyse eines Data Warehouse angewendet. Dies hat einen strukturellen Grund: Die meisten Tools zur Datenherkunftsanalyse setzen einen Datenbankserver voraus. Laufzeitprotokollbasierte Datenherkunftsanalyse sammelt Abfrageprotokolle von einer zentralen Engine; katalogbasierte Plattformen durchsuchen die Metadaten eines Servers. DuckDB ist jedoch ein In-Process-System: Oftmals gibt es keinen Server, keine gemeinsame Abfragehistorie und keinen zu installierenden Katalogagenten. Die Transformationslogik befindet sich im In-Process-Prozess. <code>.sql<\/code> Dateien, DBT-Modelle und Skripte wurden in ein Repository eingecheckt.<\/p>\n\n\n\n<p>Daher ist die statische SQL-Analyse die naheliegende und oft einzige Methode, um die Datenherkunft von DuckDB nachzuverfolgen. SQLFlow analysiert den SQL-Text selbst, sodass die Funktionsweise unabh\u00e4ngig davon ist, ob der SQL-Code auf einem Laptop, in einem CI-Job oder innerhalb eines Anwendungsprozesses ausgef\u00fchrt wird.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie SQLFlow die Datenherkunft von DuckDB erstellt<\/h2>\n\n\n\n<p>SQLFlow basiert auf <a href=\"https:\/\/www.sqlparser.com\/\">Allgemeiner SQL-Parser (GSP)<\/a>DuckDB ist ein kommerzielles SQL-Compiler-Frontend, das seit Mitte der 2000er Jahre entwickelt und anhand von rund 13.600 SQL-Testdateien pro Dialekt validiert wurde. <a href=\"https:\/\/www.gudusoft.com\/de\/sql-datenherkunftstool\/\">39 Datenbanken mit einem dialektspezifischen Parser<\/a> \u2014 keine generische ANSI-Grammatik, der die Syntax von DuckDB nachtr\u00e4glich hinzugef\u00fcgt wurde. Die Pipeline:<\/p>\n\n\n\n<ol><li><strong>Aufnehmen.<\/strong> F\u00fcgen Sie DuckDB-SQL ein, laden Sie Ihre Skriptdateien hoch oder importieren Sie ein dbt-Manifest aus einem <code>dbt-duckdb<\/code> Projekt.<\/li>\n<li><strong>Analysieren und aufl\u00f6sen.<\/strong> GSP erstellt ein vollst\u00e4ndiges semantisches Modell jeder Anweisung und l\u00f6st jede Spaltenreferenz mithilfe von CTEs, Unterabfragen, Sichten und <code>W\u00c4HLEN *<\/code> Erweiterung.<\/li>\n<li><strong>Datenfluss extrahieren.<\/strong> Der Datenflussanalysator protokolliert f\u00fcr jede Ausgabespalte genau, welche Quellspalten sie speisen und welche Funktionen, Typumwandlungen, Verkn\u00fcpfungen und Mengenoperatoren verwendet werden.<\/li>\n<li><strong>Visualisieren und exportieren.<\/strong> Navigieren Sie durch das interaktive Diagramm, verfolgen Sie jede Spalte stromaufw\u00e4rts oder stromabw\u00e4rts und exportieren Sie das Diagramm als JSON, CSV oder PNG oder rufen Sie es \u00fcber die REST-API ab.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Beispiel: Herkunftsnachweis mittels read_parquet() und CTAS<\/h2>\n\n\n\n<p>Das typische DuckDB-Muster ist <code>CREATE TABLE AS SELECT<\/code> Dateien direkt lesen \u2013 kein Zwischenspeichern, die Parquet-Dateien <em>Sind<\/em> Die Quelle. Ein typischer Reporting-Build:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE reporting.daily_revenue AS SELECT CAST(o.order_ts AS DATE) AS order_date, c.region AS region, SUM(o.amount) AS revenue, COUNT(DISTINCT o.customer_id) AS buyers FROM read_parquet(&#039;lake\/orders\/*.parquet&#039;) AS o JOIN dim_customers AS c ON o.customer_id = c.customer_id WHERE o.status = &#039;completed&#039; GROUP BY 1, 2;<\/code><\/pre>\n\n\n\n<p>Der DuckDB-Parser von SQLFlow versteht <code>read_parquet()<\/code> Da es sich um eine Tabellenquelle handelt, wird der Parquet-Pfad im Herkunftsdiagramm als tats\u00e4chlicher Knoten und nicht als unaufgel\u00f6ster Funktionsaufruf angezeigt. Aus dieser einen Anweisung wird Folgendes extrahiert:<\/p>\n\n\n\n<ul><li><code>t\u00e4gliche_Einnahmen.Einnahmen<\/code> wird gespeist von <code>o.Betrag<\/code> aus der Parquet-Quelle, durch <code>SUMME()<\/code>.<\/li>\n<li><code>t\u00e4gliche_Einnahmen.Bestelldatum<\/code> wird gespeist von <code>o.order_ts<\/code>durch ein <code>GIESSEN<\/code> Zu <code>DATUM<\/code>.<\/li>\n<li><code>daily_revenue.region<\/code> kommt direkt von <code>dim_customers.region<\/code>.<\/li>\n<li><code>o.status<\/code>, <code>o.customer_id<\/code>, Und <code>c.customer_id<\/code> Sie landen zwar nie im Ergebnis, pr\u00e4gen es aber, daher zeichnet SQLFlow sie als indirekte Herkunft auf (mehr dazu weiter unten).<\/li><\/ul>\n\n\n\n<p>Verkettet man f\u00fcnfzig dieser Anweisungen \u00fcber ein dbt-Projekt oder ein n\u00e4chtliches Skript, w\u00e4chst der Graph: SQLFlow verkn\u00fcpft alle Zwischentabellen miteinander, sodass man eine Dashboard-Nummer bis zur exakten Parquet-Spalte zur\u00fcckverfolgen kann, aus der sie entstanden ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Direkte Abstammung vs. indirekte Abstammung<\/h2>\n\n\n\n<p>Im obigen Beispiel <code>o.status<\/code> erscheint nie in <code>Tageseinnahmen<\/code>doch die Art und Weise \u00e4ndern <code>Status<\/code> Wenn eine Variable gef\u00fcllt ist, w\u00fcrde dies stillschweigend alle Umsatzzahlen \u00e4ndern. SQLFlow modelliert dies wie folgt: <strong>indirekte (Einfluss-)Abstammungslinie<\/strong>: Spalten, die in <code>WO<\/code>, <code>VERBINDEN<\/code>, Und <code>GRUPPE NACH<\/code> Klauseln und interne Aggregate bilden neben dem direkten Datenfluss einen separaten, individuell umschaltbaren Beziehungstyp. Die meisten Konkurrenzprodukte unterscheiden nicht zwischen diesen beiden Typen, wodurch ihre Wirkungsanalyse genau die Abh\u00e4ngigkeiten au\u00dfer Acht l\u00e4sst, die zu unbemerkten Datenfehlern f\u00fchren.<\/p>\n\n\n\n<p>F\u00fcr eine DuckDB-Pipeline ist dies gleich doppelt wichtig: Dateibasierte Quellen verf\u00fcgen \u00fcber keine Fremdschl\u00fcssel oder Einschr\u00e4nkungen, die Sie warnen k\u00f6nnten, daher ist die SQL-Anweisung selbst der einzige Ort, an dem diese Abh\u00e4ngigkeiten \u00fcberhaupt aufgezeichnet werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Herkunft der dbt-duckdb-Projekte<\/h2>\n\n\n\n<p><code>dbt-duckdb<\/code> ist eine der g\u00e4ngigsten Methoden, mit denen DuckDB in der Produktion eingesetzt wird, und der DAG von dbt endet auf Modellebene: Er sagt Ihnen <code>Tageseinnahmen<\/code> h\u00e4ngt ab von <code>stg_orders<\/code>Es geht nicht darum, welche Spalten die Abh\u00e4ngigkeit tragen. SQLFlow importiert Ihr dbt-Manifest und erzeugt <strong>Spaltenebene<\/strong> Abstammung \u00fcber die kompilierten Modelle hinweg, sodass Sie die Frage beantworten k\u00f6nnen: \u201eWelcher Markt tut das?\u201c <code>stg_orders.amount<\/code> \u201eWirklich f\u00fcttern?\u201c bevor Sie es \u00e4ndern.<\/p>\n\n\n\n<p>Dieselbe Analyse zahlt sich bei der Migration aus. Teams entwickeln Prototypen h\u00e4ufig auf DuckDB und \u00fcbertragen die Modelle sp\u00e4ter auf [Plattformname einf\u00fcgen]. <a href=\"https:\/\/www.gudusoft.com\/de\/clickhouse-datenherkunft\/\">ClickHouse<\/a>, <a href=\"https:\/\/www.gudusoft.com\/de\/postgresql-data-lineage\/\">PostgreSQL<\/a>oder einem Cloud-Warehouse. Da SQLFlow all diese Daten mit dialektspezifischen Grammatiken analysiert, k\u00f6nnen Sie den tats\u00e4chlichen Abh\u00e4ngigkeitsgraphen vor der Migration abbilden und anschlie\u00dfend \u00fcberpr\u00fcfen, ob keine Daten verwaist sind \u2013 und das mit nur einem Tool und einem einzigen Herkunftsmodell auf beiden Seiten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Welche Optionen gibt es f\u00fcr die DuckDB-Herkunftsnachverfolgung?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Ansatz<\/th><th>Gut in<\/th><th>Die L\u00fccke bei DuckDB<\/th><\/tr><\/thead><tbody>\n<tr><td>Manuelle Dokumentation<\/td><td>Erfassung von Absicht und Gesch\u00e4ftskontext<\/td><td>Schon am Tag nach dem Schreiben veraltet; keine Spaltendetails<\/td><\/tr>\n<tr><td>Open-Source-Parser (<code>sqllineage<\/code>, <code>sqlglot<\/code>)<\/td><td>Analyse einzelner Abfragen in einem Python-Workflow; kostenlos<\/td><td>Du f\u00fcgst Entschlossenheit, Sternenexpansion, Kreuzwortr\u00e4tsel-Verkn\u00fcpfung und Visualisierung selbst zusammen; die indirekte Abstammung liegt in deiner Hand.<\/td><\/tr>\n<tr><td>Laufzeitprotokollbasierte Herkunft<\/td><td>Beobachten, was tats\u00e4chlich auf einem Server ausgef\u00fchrt wurde<\/td><td>Setzt eine zentrale Engine voraus, die Protokolle ausgibt; eine prozessinterne DuckDB auf einem Laptop oder innerhalb einer Anwendung hat keine zu erfassenden Daten.<\/td><\/tr>\n<tr><td>Katalogbasierte Plattformen<\/td><td>Governance-Workflows, Verantwortlichkeiten und Glossare f\u00fcr die gesamte Plattform<\/td><td>Die Tiefe der Datenherkunft h\u00e4ngt von der jeweiligen SQL-Analyse pro Dialekt ab; eingebettete DuckDB-Skripte sind selten erstklassige Datenquellen.<\/td><\/tr>\n<tr><td>Gudu SQLFlow<\/td><td>Statische, spaltenbasierte Analyse des SQL-Textes selbst, dialektbewusst, mit direkter und indirekter Herkunft<\/td><td>Kommerziell f\u00fcr den Einsatz im Team (kostenlose Version f\u00fcr Einzelanfragen)<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Diese schlie\u00dfen sich nicht gegenseitig aus. Wenn Sie bereits einen Katalog betreiben, exportieren die Enterprise-Bereitstellungen von SQLFlow die Herkunftsinformationen nach <strong>DataHub, Microsoft Purview und OpenMetadata<\/strong>Es wird also zur Parsing-Engine hinter dem von Ihnen gef\u00fchrten Katalog.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einsatz und Datenschutz<\/h2>\n\n\n\n<p>SQLFlow f\u00fchrt ausschlie\u00dflich eine statische Analyse von SQL-Code durch; es liest niemals die Zeilen in Ihren Tabellen oder Parquet-Dateien. F\u00fcr Teams, deren DuckDB-Skripte propriet\u00e4re Logik enthalten, <a href=\"https:\/\/www.gudusoft.com\/de\/sqlflow-on-premise-version\/\">SQLFlow vor Ort<\/a> SQLFlow Cloud l\u00e4uft als Docker- oder Kubernetes-Container in Ihrem Netzwerk (auch abgeschottete Installationen werden unterst\u00fctzt), sodass selbst der SQL-Text Ihre Infrastruktur niemals verl\u00e4sst. SQLFlow Cloud ist ab sofort kostenlos verf\u00fcgbar, die Premium-Version kostet 1 TP3T49,99\/Monat. Die On-Premise-Version kostet 1 TP3T500\/Monat oder einmalig 1 TP3T4.800 pro ausgew\u00e4hltem Datenbanktyp und kann auf zwei Servern installiert werden. Beide Versionen sind \u00fcber eine Headless-CLI und eine REST-API skriptf\u00e4hig und passen damit perfekt zur stark auf Automatisierung ausgerichteten CI-Kultur von DuckDB.<\/p>\n\n\n\n<p>Am anderen Ende des Spektrums durchsucht dieselbe Engine im Batch-Verfahren Best\u00e4nde von mehr als 100 Datenbanken und \u00fcber einer Million Spalten mit inkrementellem Scannen und einem persistenten Herkunftsarchiv, sodass der DuckDB-Teil Ihres Stacks und das Data Warehouse in einem einzigen Herkunftsgraphen zusammengefasst werden k\u00f6nnen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">H\u00e4ufig gestellte Fragen<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Kann SQLFlow die Herkunft von Parquet-Daten \u00fcber read_parquet() und Dateiquellen nachverfolgen?<\/h3>\n\n\n<p>Ja. Der DuckDB-Dialektparser behandelt <code>read_parquet()<\/code> als Tabellenquelle, sodass Dateipfade im Herkunftsdiagramm als Quellknoten erscheinen und aus Parquet gelesene Spalten wie jede andere Spalte in nachgelagerte Tabellen verfolgt werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Muss ich meine DuckDB-Abfragen ausf\u00fchren, um die Herkunft zu ermitteln?<\/h3>\n\n\n<p>Nein. SQLFlow ist eine statische Analyse: Es analysiert den SQL-Text, f\u00fchrt ihn aber nie aus. Genau deshalb eignet es sich f\u00fcr In-Process-DuckDB, wo keine serverseitigen Abfrageprotokolle erfasst werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Unterst\u00fctzt SQLFlow dbt-duckdb-Projekte?<\/h3>\n\n\n<p>Ja. Importieren Sie das dbt-Manifest, und SQLFlow erzeugt eine Spalten-basierte Herkunftsnachverfolgung \u00fcber Ihre Modelle hinweg \u2013 feiner granuliert als der modellbasierte DAG von dbt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Unterst\u00fctzt DuckDB einen echten Dialektparser oder generisches ANSI SQL?<\/h3>\n\n\n<p>Ein echter Dialekt-Parser. SQLFlow liefert dialektspezifische Parser f\u00fcr 39 Datenbanken, darunter DuckDB, die auf einer Parser-Engine basieren, die anhand von rund 13.600 SQL-Testbeispielen pro Dialekt validiert wurde.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann die Datenherkunft aus DuckDB-Skripten in meinen Datenkatalog einflie\u00dfen?<\/h3>\n\n\n<p>Ja. Enterprise-Implementierungen umfassen Exportadapter f\u00fcr DataHub, Microsoft Purview und OpenMetadata sowie JSON- und CSV-Export und eine REST-API f\u00fcr benutzerdefinierte Integrationen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was kostet SQLFlow f\u00fcr die DuckDB-Abstammung?<\/h3>\n\n\n<p>SQLFlow Cloud bietet eine kostenlose Version; die Premium-Version kostet $49,99\/Monat. Die On-Premise-Version kostet $500\/Monat oder einmalig $4.800 pro ausgew\u00e4hltem Datenbanktyp. Siehe <a href=\"https:\/\/www.gudusoft.com\/de\/preisgestaltung\/\">Preisgestaltung<\/a> f\u00fcr weitere Details.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#60d5f6;padding-top:32px;padding-bottom:32px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">Verfolgen Sie jetzt Ihre DuckDB-Pipeline.<\/h2>\n\n\n<p>F\u00fcgen Sie eine DuckDB-Abfrage in den kostenlosen Visualisierer ein und sehen Sie sich die Datenherkunft auf Spaltenebene an, oder sprechen Sie mit uns \u00fcber die Durchsuchung eines ganzen Projekts.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=duckdb-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Testen Sie SQLFlow kostenlos<\/a><\/div>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/de\/kontakt\/\">Demo anfordern<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"SoftwareApplication\",\n            \"name\": \"Gudu SQLFlow\",\n            \"applicationCategory\": \"DeveloperApplication\",\n            \"applicationSubCategory\": \"SQL Data Lineage Tool\",\n            \"operatingSystem\": \"Web, Linux, Windows, macOS\",\n            \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/duckdb-data-lineage\\\/\",\n            \"description\": \"Automated DuckDB data lineage: SQLFlow parses DuckDB SQL scripts and dbt-duckdb projects with a dialect-specific parser and produces interactive column-level lineage diagrams, including sources read via read_parquet().\",\n            \"featureList\": \"DuckDB dialect parser, column-level lineage, read_parquet() source tracing, indirect\\\/impact lineage, dbt manifest import, JSON\\\/CSV\\\/PNG export, REST API, DataHub\\\/Purview\\\/OpenMetadata export\",\n            \"softwareVersion\": \"8.2.3\",\n            \"offers\": [\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Free\",\n                    \"price\": \"0\",\n                    \"priceCurrency\": \"USD\"\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Premium\",\n                    \"price\": \"49.99\",\n                    \"priceCurrency\": \"USD\",\n                    \"priceSpecification\": {\n                        \"@type\": \"UnitPriceSpecification\",\n                        \"price\": \"49.99\",\n                        \"priceCurrency\": \"USD\",\n                        \"billingIncrement\": 1,\n                        \"unitText\": \"MONTH\"\n                    }\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow On-Premise\",\n                    \"price\": \"4800\",\n                    \"priceCurrency\": \"USD\"\n                }\n            ],\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can SQLFlow trace lineage through read_parquet() and file sources?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. The DuckDB dialect parser treats read_parquet() as a table source, so file paths appear as source nodes in the lineage graph and columns read from Parquet are traced into downstream tables like any other column.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Do I have to run my DuckDB queries to get lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow is static analysis: it parses the SQL text and never executes it. That is what makes it a fit for in-process DuckDB, where there is no server-side query log to collect.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow support dbt-duckdb projects?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Import the dbt manifest and SQLFlow produces column-level lineage across your models, finer-grained than dbt's own model-level DAG.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Is DuckDB support a real dialect parser or generic ANSI SQL?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"A real dialect parser. SQLFlow ships dialect-specific parsers for 39 databases, DuckDB among them, built on a parser engine validated against roughly 13,600 per-dialect SQL test fixtures.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can lineage from DuckDB scripts feed my data catalog?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Enterprise deployments include export adapters for DataHub, Microsoft Purview, and OpenMetadata, plus JSON and CSV export and a REST API for custom integrations.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What does SQLFlow cost for DuckDB lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow Cloud has a free tier; premium is $49.99\\\/month. On-Premise is $500\\\/month or $4,800 one-time per selected database type.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>DuckDB data lineage is the column-level map of how data moves through your DuckDB SQL: which Parquet files and source tables feed each derived table, and through which joins, casts, filters, and aggregations. Gudu SQLFlow builds that map automatically: it parses your DuckDB scripts with a dedicated DuckDB dialect parser and renders an interactive lineage diagram, without executing a single query or touching your data. Try it now: paste any DuckDB query into the free online SQL lineage visualizer, select the DuckDB dialect, and get a column-level lineage diagram in seconds. There is a free tier for individual use. Why\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/pages\/6764"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/comments?post=6764"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/pages\/6764\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/media?parent=6764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}