{"id":6762,"date":"2026-07-12T02:07:45","date_gmt":"2026-07-12T10:07:45","guid":{"rendered":"https:\/\/www.gudusoft.com\/trino-data-lineage\/"},"modified":"2026-07-12T02:07:45","modified_gmt":"2026-07-12T10:07:45","slug":"trino-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/de\/trino-data-lineage\/","title":{"rendered":"Trino- und Presto-Datenherkunft: Spaltenherkunft in f\u00f6deriertem SQL"},"content":{"rendered":"<p><strong>Trino-Datenherkunft<\/strong> ist die Spalten\u00fcbersicht, die den Datenfluss durch Trino (und Presto) SQL darstellt: welche Quellspalten in welchen Katalogen welche Ausgabespalten speisen und welche Joins, Funktionen und Filter verwendet werden. Da Trino eine f\u00f6derierte Abfrage-Engine ist, kann eine einzelne Anweisung aus verschiedenen Quellen lesen. <code>Bienenstock<\/code>, <code>PostgreSQL<\/code>, Und <code>Eisberg<\/code> Kataloge gleichzeitig \u2013 daher muss eine genaue Herkunftsbestimmung jede Spalte auf ihren vollst\u00e4ndig qualifizierten Eintrag aufl\u00f6sen. <code>catalog.schema.table.column<\/code> Identit\u00e4t, nicht nur ein Tabellenname. <a href=\"https:\/\/www.gudusoft.com\/de\/sql-datenherkunftstool\/\">Gudu SQLFlow<\/a> Dies geschieht mithilfe von speziellen Dialektparsern f\u00fcr Trino und Presto.<\/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>Sehen Sie es sich in Ihrer eigenen SQL-Datenbank an:<\/strong> F\u00fcgen Sie eine f\u00f6derierte Trino-Abfrage in die <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=trino-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">kostenloser SQLFlow-Lineage-Visualisierer<\/a>W\u00e4hlen Sie den Trino- oder Presto-Dialekt aus und erhalten Sie ein interaktives Diagramm auf Spaltenebene.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Warum die F\u00f6deration die Datenherkunft von Trino erschwert<\/h2>\n\n\n\n<p>In einem herk\u00f6mmlichen Data Warehouse ist die Herkunftsnachverfolgung innerhalb einer einzigen Datenbank geregelt: Jede Tabelle in einer Abfrage geh\u00f6rt zum selben System, und ein zweiteiliger Name wie <code>Bestellungen<\/code> ist eindeutig. Trino widerspricht dieser Annahme. Sein einziger Zweck besteht darin, Daten zusammenzuf\u00fchren. <em>\u00fcber<\/em> Systeme \u2013 eine Hive-Tabelle auf S3, eine operative PostgreSQL-Datenbank und eine Iceberg-Lakehouse-Tabelle k\u00f6nnen alle im selben System erscheinen <code>W\u00c4HLEN<\/code>.<\/p>\n\n\n\n<p>Dadurch entstehen drei Probleme, mit denen die meisten Lineage-Tools nur schlecht umgehen k\u00f6nnen:<\/p>\n\n\n\n<ul><li><strong>Namenskonflikte in verschiedenen Katalogen.<\/strong> <code>hive.sales.orders<\/code> Und <code>postgresql.sales.orders<\/code> Es handelt sich um unterschiedliche physische Tabellen in verschiedenen Systemen. Die Datenherkunftsanalyse, die den Katalogqualifizierer entfernt, f\u00fchrt sie zu einem einzigen Knoten zusammen \u2013 und jede darauf basierende Folgewirkungsanalyse ist fehlerhaft.<\/li>\n<li><strong>Teilqualifikation.<\/strong> In realen Abfragen werden dreiteilige Namen selten \u00fcberall explizit ausgeschrieben. Sie basieren auf dem Standardkatalog und -schema der Sitzung, Aliasen und <code>VERWENDEN<\/code> Aussagen. Der Resolver muss die vollst\u00e4ndige Identit\u00e4t jeder Spaltenreferenz aus diesem Kontext rekonstruieren.<\/li>\n<li><strong>Systemgrenzen \u00fcberschreiten in einer Aussage.<\/strong> Ein <code>IN DEN EISBER EINF\u00dcGEN....<\/code> eine Datenbewegung, die Daten aus Hive und PostgreSQL ausw\u00e4hlt. <em>zwischen drei Systemen<\/em> In einer einzigen Aussage ausgedr\u00fcckt. Die Herkunft auf Tabellenebene zeigt Ihnen die betroffenen Systeme; nur die Herkunft auf Spaltenebene zeigt Ihnen, welche PostgreSQL-Spalte in welcher Iceberg-Spalte gelandet ist.<\/li><\/ul>\n\n\n\n<p>Der semantische Resolver von SQLFlow beh\u00e4lt die vollst\u00e4ndige <code>catalog.schema.table.column<\/code> Pfad auf jedem Knoten im Abstammungsgraphen, sodass katalog\u00fcbergreifende Spalten getrennt und von Anfang bis Ende nachvollziehbar bleiben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ein praktisches Beispiel: Iceberg-Ziel, Hive- und PostgreSQL-Quellen<\/h2>\n\n\n\n<p>Hier ein typischer f\u00f6derierter Schreibvorgang \u2013 Erstellung einer Kundenwerttabelle in einem Iceberg-Katalog aus einer betriebsbereiten PostgreSQL-Datenbank, die mit der Hive-Bestellhistorie verkn\u00fcpft ist:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO iceberg.analytics.customer_value SELECT c.customer_id, lower(c.email) AS email, sum(o.order_total) AS lifetime_value, count(*) AS order_count FROM postgresql.crm.customers AS c JOIN hive.sales.orders AS o ON c.customer_id = o.customer_id WHERE o.order_status = &#039;COMPLETED&#039; GROUP BY c.customer_id, lower(c.email);<\/code><\/pre>\n\n\n\n<p>F\u00fchren Sie dies mit SQLFlow und dem ausgew\u00e4hlten Trino-Dialekt durch. Das Diagramm zeigt dann die Ausgabe pro Spalte:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Zielspalte (iceberg.analytics.customer_value)<\/th><th>Quelle Spalte<\/th><th>Beziehung<\/th><\/tr><\/thead><tbody>\n<tr><td><code>Kunden-ID<\/code><\/td><td><code>postgresql.crm.customers.customer_id<\/code><\/td><td>Direkt, Durchleitung<\/td><\/tr>\n<tr><td><code>E-Mail<\/code><\/td><td><code>postgresql.crm.customers.email<\/code><\/td><td>Direkt, \u00fcber <code>untere()<\/code><\/td><\/tr>\n<tr><td><code>Lebensdauerwert<\/code><\/td><td><code>hive.sales.orders.order_total<\/code><\/td><td>Direkt, \u00fcber <code>Summe()<\/code><\/td><\/tr>\n<tr><td><code>Anzahl der Bestellungen<\/code><\/td><td><code>hive.sales.orders<\/code> Zeilen<\/td><td>Direkt, \u00fcber <code>z\u00e4hlen(*)<\/code><\/td><\/tr>\n<tr><td>alle Spalten<\/td><td><code>hive.sales.orders.order_status<\/code><\/td><td>Indirekt (WHERE-Filter)<\/td><\/tr>\n<tr><td>alle Spalten<\/td><td><code>o.customer_id<\/code> \/ <code>c.customer_id<\/code><\/td><td>Indirekt (Verkn\u00fcpfungsbedingung, Gruppierung nach)<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Beachten Sie die letzten beiden Zeilen. <code>Bestellstatus<\/code> landet nie in der Ausgabe, aber die Art und Weise, wie es bef\u00fcllt wird, \u00e4ndert jede Zahl in <code>Kundenwert<\/code>SQLFlow modelliert dies als <strong>indirekte (Einfluss-)Abstammungslinie<\/strong>Es handelt sich um einen separaten, umschaltbaren Beziehungstyp neben dem direkten Datenfluss. Die meisten Datenherkunftstools unterscheiden nicht zwischen diesen beiden Aspekten. Genau diese Information ben\u00f6tigen Sie jedoch, bevor Sie eine Filterspalte in einer gemeinsam genutzten Hive-Tabelle bearbeiten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Trino und Presto sind unterschiedliche Dialekte \u2013 SQLFlow analysiert beide.<\/h2>\n\n\n\n<p>Trino entstand aus Presto (als PrestoSQL) und wurde 2020 umbenannt; seitdem haben sich die beiden Dialekte auseinanderentwickelt. SQLFlow wird ausgeliefert. <strong>separate dialektspezifische Parser f\u00fcr Trino und f\u00fcr Presto<\/strong>Unter den 39 unterst\u00fctzten Dialekten befindet sich keine generische ANSI-Grammatik mit Kompatibilit\u00e4tskennzeichen. Wenn in Ihrer Umgebung PrestoDB neben einem neueren Trino-Cluster betrieben wird, w\u00e4hlen Sie den passenden Dialekt pro Quelle aus, und beide werden korrekt geparst.<\/p>\n\n\n\n<p>Die Parser stammen vom General SQL Parser (GSP), einem kommerziellen SQL-Compiler-Frontend, das seit Mitte der 2000er-Jahre entwickelt und anhand von rund 13.600 dialektspezifischen Testdaten validiert wurde. GSP erstellt ein vollst\u00e4ndiges semantisches Modell jeder Anweisung und l\u00f6st Spaltenreferenzen mithilfe von CTEs, Unterabfragen, Sichten und anderen Methoden auf. <code>W\u00c4HLEN *<\/code> Expansion \u2013 und ihr Datenflussanalysator extrahiert die Quell-Ziel-Beziehungen. Die Sternexpansion ist in Trino wichtiger als fast \u00fcberall sonst: <code>W\u00c4HLEN *<\/code> Bei einem f\u00f6derierten Join werden Spalten aus mehreren Systemen abgerufen, und f\u00fcr die korrekte Erweiterung werden die Schema-Metadaten jedes Katalogs ben\u00f6tigt, die SQLFlow zusammen mit dem SQL-Code einlesen kann.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie man Trino-Herkunftsinformationen mit SQLFlow generiert<\/h2>\n\n\n\n<ol><li><strong>Sammeln Sie die SQL-Anweisungen.<\/strong> Paste individual queries, upload files of ETL scripts and view definitions, or pull metadata over JDBC. For whole-estate coverage, the Grabit\/SQLFlow-ingester utility extracts metadata in batch.<\/li>\n<li><strong>W\u00e4hle den Dialekt.<\/strong> Je nach Quelle Trino oder Presto verwenden. Enth\u00e4lt dieselbe Pipeline auch Hive-DDL- oder Spark-SQL-Jobs, analysieren Sie jeden in seinem eigenen Dialekt; SQLFlow unterst\u00fctzt alle, und in Unternehmensumgebungen werden die Ergebnisse in einem persistenten Herkunftsarchiv gespeichert.<\/li>\n<li><strong>Erkunden und exportieren.<\/strong> Verfolgen Sie beliebige Spalten in der interaktiven Diagrammstruktur vorw\u00e4rts oder r\u00fcckw\u00e4rts, aktivieren oder deaktivieren Sie die indirekte Datenherkunft und exportieren Sie die Daten als JSON, CSV oder PNG \u2013 oder fragen Sie den Graphen \u00fcber die REST-API ab. Seit Version 8.2.3 k\u00f6nnen Sie auch Fragen in nat\u00fcrlicher Sprache stellen (\u201eWelche Iceberg-Tabellen h\u00e4ngen von \u2026 ab?\u201c). <code>postgresql.crm.customers.email<\/code>Jede Tabelle und Spalte in der Antwort der KI wird vor der Anzeige anhand des analysierten Diagramms validiert.<\/li><\/ol>\n\n\n\n<p>Im Enterprise-Ma\u00dfstab durchsucht SQLFlow im Batch-Verfahren Best\u00e4nde von mehr als 100 Datenbanken und \u00fcber einer Million Spalten, f\u00fchrt inkrementelle Scans durch, verwaltet ein persistentes Herkunftsarchiv und exportiert die Daten nach DataHub, Microsoft Purview und OpenMetadata \u2013 so landet die Trino-Herkunft in dem Katalog, den Ihr Team bereits verwendet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Statische SQL-Analyse vs. Laufzeit-Ereignisherkunft<\/h2>\n\n\n\n<p>Eine weitere g\u00e4ngige Methode zur Ermittlung der Trino-Ablaufverfolgung ist die Laufzeiterfassung: Dabei werden die Abfrageereignisse der Engine abgefangen und die Ablaufverfolgung f\u00fcr jede ausgef\u00fchrte Anweisung ausgegeben (so funktioniert das OpenLineage-\u00d6kosystem). Die Laufzeiterfassung zeichnet sehr gut auf, was tats\u00e4chlich ausgef\u00fchrt wurde, inklusive des realen Sitzungskontexts. Ihre Schw\u00e4che liegt in der Abdeckung und Tiefe: Sie erfasst nur Abfragen, die w\u00e4hrend des Erfassungszeitraums ausgef\u00fchrt wurden, und erfordert die Instrumentierung jedes Clusters.<\/p>\n\n\n\n<p>Die statische Analyse, der Ansatz von SQLFlow, analysiert den SQL-Code selbst. Dies umfasst geplante Jobs, die noch nicht ausgef\u00fchrt wurden, Ansichtsdefinitionen und Repository-Code, der sich in der \u00dcberpr\u00fcfung befindet \u2013 und ben\u00f6tigt keinen Agenten im Cluster und liest niemals Tabellenzeilendaten. In regulierten Umgebungen <a href=\"https:\/\/www.gudusoft.com\/de\/sqlflow-on-premise-version\/\">On-Premise-Edition<\/a> (Docker\/Kubernetes) h\u00e4lt sogar den SQL-Text innerhalb Ihres Netzwerks. Viele Teams nutzen beides: Laufzeitereignisse f\u00fcr die Betriebs\u00fcberwachung und statische Analysen f\u00fcr eine umfassende Folgenabsch\u00e4tzung vor der Bereitstellung.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Herkunft im restlichen Stack<\/h2>\n\n\n\n<p>Trino ist selten die ganze Geschichte. Die abgefragten Hive-Tabellen wurden \u00fcblicherweise von Hive- oder Spark-Jobs geladen, und die Ergebnisse flie\u00dfen oft in nachgelagerte Data Marts ein. SQLFlow analysiert diese Ebenen mit derselben Engine \u2013 siehe die entsprechenden Anleitungen. <a href=\"https:\/\/www.gudusoft.com\/de\/hive-datenherkunft\/\">Hive-Datenherkunft<\/a> Und <a href=\"https:\/\/www.gudusoft.com\/de\/clickhouse-datenherkunft\/\">ClickHouse-Datenherkunft<\/a>oder das vollst\u00e4ndige <a href=\"https:\/\/www.gudusoft.com\/de\/sql-datenherkunftstool\/\">\u00dcberblick \u00fcber SQL-Datenherkunftstools<\/a> Alle 39 Dialekte werden abgedeckt. Da jede Ebene im persistenten Herkunftsarchiv analysiert wird, l\u00e4sst sich eine Spalte vom Spark-Job, der die Hive-Tabelle geschrieben hat, \u00fcber die f\u00f6derierte Trino-Abfrage bis zum Iceberg-Ziel verfolgen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">H\u00e4ufig gestellte Fragen<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Unterst\u00fctzt SQLFlow sowohl Trino als auch Presto?<\/h3>\n\n\n<p>Ja. Trino und Presto sind zwei der 39 dialektspezifischen Parser von SQLFlow. W\u00e4hlen Sie den Dialekt, der zu Ihrer Engine passt. Wenn Sie beide Parser verwenden, analysieren Sie jede Datenquelle mit ihrem jeweiligen Dialekt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann SQLFlow die Herkunft \u00fcber Trino-Kataloge hinweg nachverfolgen?<\/h3>\n\n\n<p>Ja. SQLFlow l\u00f6st jede Spalte in ihre vollqualifizierte catalog.schema.table.column-Identit\u00e4t auf, sodass eine Abfrage, die Hive-, PostgreSQL- und Iceberg-Kataloge verkn\u00fcpft, eine Herkunftsnachverfolgung erzeugt, die die Spalten jedes Systems getrennt h\u00e4lt \u2013 auch bei INSERT-Anweisungen, die Daten zwischen Katalogen verschieben.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ben\u00f6tigt SQLFlow Zugriff auf meinen Trino-Cluster oder meine Daten?<\/h3>\n\n\n<p>Nein. SQLFlow f\u00fchrt eine statische Analyse von SQL-Code durch und verwendet optional Schema-Metadaten zur Namensaufl\u00f6sung und Erweiterung von SELECT *. Es liest niemals Tabellenzeilen und ben\u00f6tigt keinen Agenten im Cluster. Die On-Premise-Edition h\u00e4lt den SQL-Text vollst\u00e4ndig innerhalb Ihres Netzwerks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was zeigt SQLFlow f\u00fcr Spalten in WHERE- und JOIN-Klauseln an?<\/h3>\n\n\n<p>Sie erscheinen als indirekte (Auswirkungs-)Herkunft: ein separater Beziehungstyp f\u00fcr Spalten, die das Ergebnis beeinflussen, ohne direkt in der Ausgabe zu erscheinen. Sie k\u00f6nnen die indirekte Herkunft im Diagramm ein- und ausschalten \u2013 eine Unterscheidung, die die meisten Herkunftsanalyse-Tools gar nicht vornehmen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann ich die Trino-Herkunft in meinen Datenkatalog exportieren?<\/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\">Wie viel kostet SQLFlow?<\/h3>\n\n\n<p>SQLFlow Cloud ist kostenlos; die Premium-Version kostet 1 TP3T49,99\/Monat. SQLFlow On-Premise kostet 1 TP3T500\/Monat oder einmalig 1 TP3T4.800 pro ausgew\u00e4hltem Datenbanktyp und kann auf zwei Servern installiert werden. 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 f\u00f6derierten Abfragen.<\/h2>\n\n\n<p>F\u00fcgen Sie eine katalog\u00fcbergreifende Trino-Abfrage in den kostenlosen Visualisierer ein und sehen Sie die Herkunft auf Spaltenebene \u00fcber alle betroffenen Kataloge hinweg.<\/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=trino-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\/\">Fordern Sie eine Enterprise-Demo an<\/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\\\/trino-data-lineage\\\/\",\n            \"description\": \"Automated data lineage for Trino and Presto SQL: dialect-specific parsers resolve fully-qualified cross-catalog columns in federated queries and produce interactive column-level lineage diagrams.\",\n            \"featureList\": \"Trino dialect parser, Presto dialect parser, cross-catalog column resolution, column-level lineage, indirect\\\/impact lineage, SELECT * expansion, JSON\\\/CSV\\\/PNG export, REST API, DataHub\\\/Purview\\\/OpenMetadata export, AI lineage query\",\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\": \"Does SQLFlow support both Trino and Presto?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Trino and Presto are two of SQLFlow's 39 dialect-specific parsers. Select the dialect that matches your engine; if you run both, analyze each source with its own dialect.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can SQLFlow trace lineage across Trino catalogs?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. SQLFlow resolves every column to its fully-qualified catalog.schema.table.column identity, so a query joining hive, postgresql, and iceberg catalogs produces lineage that keeps each system's columns distinct, including for INSERT statements that move data between catalogs.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow need access to my Trino cluster or data?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow performs static analysis of SQL code, optionally using schema metadata to resolve names and expand SELECT *. It never reads table rows and needs no agent on the cluster. The On-Premise edition keeps SQL text inside your network entirely.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What does SQLFlow show for columns in WHERE and JOIN clauses?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"They appear as indirect (impact) lineage: a separate relationship type for columns that shape the result without landing in the output. You can toggle indirect lineage on and off in the diagram, a distinction most lineage tools do not make at all.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can I export Trino lineage to 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\": \"How much does SQLFlow cost?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow Cloud starts free; premium is $49.99\\\/month. SQLFlow On-Premise is $500\\\/month or $4,800 one-time per selected database type, installable on two servers.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>Trino data lineage is the column-level map of how data flows through Trino (and Presto) SQL: which source columns in which catalogs feed each output column, and through which joins, functions, and filters. Because Trino is a federated query engine, a single statement can read from hive, postgresql, and iceberg catalogs at once \u2014 so accurate lineage must resolve every column to its fully-qualified catalog.schema.table.column identity, not just a table name. Gudu SQLFlow does this with dedicated dialect parsers for both Trino and Presto. See it on your own SQL: paste a federated Trino query into the free SQLFlow lineage\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\/6762"}],"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=6762"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/pages\/6762\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/media?parent=6762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}