{"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\/pt\/linhagem-de-dados-trino\/","title":{"rendered":"Trino e Presto Data Lineage: Linhagem de Colunas em SQL Federado"},"content":{"rendered":"<p><strong>Linhagem de dados Trino<\/strong> \u00e9 o mapa em n\u00edvel de coluna de como os dados fluem pelo SQL do Trino (e do Presto): quais colunas de origem em quais cat\u00e1logos alimentam cada coluna de sa\u00edda e por meio de quais jun\u00e7\u00f5es, fun\u00e7\u00f5es e filtros. Como o Trino \u00e9 um mecanismo de consulta federado, uma \u00fanica instru\u00e7\u00e3o pode ler de <code>colmeia<\/code>, <code>postgresql<\/code>, e <code>iceberg<\/code> cat\u00e1logos de uma s\u00f3 vez \u2014 portanto, a linhagem precisa deve resolver cada coluna at\u00e9 sua origem totalmente qualificada. <code>cat\u00e1logo.esquema.tabela.coluna<\/code> identidade, n\u00e3o apenas o nome de uma tabela. <a href=\"https:\/\/www.gudusoft.com\/pt\/ferramenta-de-linhagem-de-dados-sql\/\">Gudu SQLFlow<\/a> Isso \u00e9 feito com analisadores de dialetos dedicados tanto para Trino quanto para 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>Veja isso no seu pr\u00f3prio SQL:<\/strong> Cole uma consulta Trino federada no <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=trino-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Visualizador de linhagem SQLFlow gratuito<\/a>Selecione o dialeto Trino ou Presto e obtenha um diagrama interativo em n\u00edvel de coluna.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Por que a federa\u00e7\u00e3o dificulta a linhagem de dados Trino<\/h2>\n\n\n\n<p>Em um data warehouse convencional, a linhagem reside dentro de um \u00fanico banco de dados: cada tabela em uma consulta pertence ao mesmo sistema, e um nome composto por duas partes, como <code>pedidos de vendas<\/code> \u00e9 inequ\u00edvoco. O Trino quebra essa premissa. Seu prop\u00f3sito principal \u00e9 unir dados. <em>entre<\/em> sistemas \u2014 uma tabela Hive no S3, um banco de dados operacional PostgreSQL e uma tabela Iceberg lakehouse podem todos aparecer no mesmo <code>SELECIONAR<\/code>.<\/p>\n\n\n\n<p>Isso cria tr\u00eas problemas que a maioria das ferramentas de linhagem resolve mal:<\/p>\n\n\n\n<ul><li><strong>Conflitos de nomes entre cat\u00e1logos.<\/strong> <code>hive.vendas.pedidos<\/code> e <code>postgresql.vendas.pedidos<\/code> Existem tabelas f\u00edsicas diferentes em sistemas diferentes. A linhagem que remove o qualificador de cat\u00e1logo as mescla em um \u00fanico n\u00f3 \u2014 e todas as an\u00e1lises de impacto subsequentes constru\u00eddas com base nele ficam incorretas.<\/li>\n<li><strong>Qualifica\u00e7\u00e3o parcial.<\/strong> Consultas reais raramente usam nomes de tr\u00eas partes em todos os lugares. Elas dependem do cat\u00e1logo e esquema padr\u00e3o da sess\u00e3o, aliases e <code>USAR<\/code> declara\u00e7\u00f5es. O resolvedor precisa reconstruir a identidade completa de cada refer\u00eancia de coluna a partir desse contexto.<\/li>\n<li><strong>Limites entre sistemas em uma \u00fanica declara\u00e7\u00e3o.<\/strong> Um <code>INSERIR NO iceberg....<\/code> que seleciona dados do Hive e do PostgreSQL \u00e9 uma movimenta\u00e7\u00e3o de dados. <em>entre tr\u00eas sistemas<\/em> expressa em uma \u00fanica declara\u00e7\u00e3o. A linhagem em n\u00edvel de tabela informa quais sistemas foram afetados; somente a linhagem em n\u00edvel de coluna informa qual coluna do PostgreSQL acabou em qual coluna do Iceberg.<\/li><\/ul>\n\n\n\n<p>O resolvedor sem\u00e2ntico do SQLFlow mant\u00e9m o total <code>cat\u00e1logo.esquema.tabela.coluna<\/code> O caminho em cada n\u00f3 do grafo de linhagem garante que as colunas entre cat\u00e1logos permane\u00e7am distintas e rastre\u00e1veis de ponta a ponta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Um exemplo pr\u00e1tico: alvo Iceberg, fontes Hive e PostgreSQL<\/h2>\n\n\n\n<p>Aqui est\u00e1 um exemplo t\u00edpico de grava\u00e7\u00e3o federada \u2014 a cria\u00e7\u00e3o de uma tabela de valores do cliente em um cat\u00e1logo Iceberg a partir de um banco de dados PostgreSQL operacional, unido ao hist\u00f3rico de pedidos do Hive:<\/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>Execute este c\u00f3digo no SQLFlow com o dialeto Trino selecionado e o diagrama mostrar\u00e1, por coluna de sa\u00edda:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Coluna de destino (iceberg.analytics.customer_value)<\/th><th>Coluna de origem<\/th><th>Rela\u00e7\u00e3o<\/th><\/tr><\/thead><tbody>\n<tr><td><code>id_do_cliente<\/code><\/td><td><code>postgresql.crm.customers.customer_id<\/code><\/td><td>Direto, passagem<\/td><\/tr>\n<tr><td><code>e-mail<\/code><\/td><td><code>postgresql.crm.clientes.email<\/code><\/td><td>Diretamente, atrav\u00e9s de <code>mais baixo()<\/code><\/td><\/tr>\n<tr><td><code>valor_de_vida_total<\/code><\/td><td><code>hive.vendas.pedidos.total_de_pedidos<\/code><\/td><td>Diretamente, atrav\u00e9s de <code>soma()<\/code><\/td><\/tr>\n<tr><td><code>contagem_de_pedidos<\/code><\/td><td><code>hive.vendas.pedidos<\/code> linhas<\/td><td>Diretamente, atrav\u00e9s de <code>contar(*)<\/code><\/td><\/tr>\n<tr><td>todas as colunas<\/td><td><code>hive.vendas.pedidos.status_do_pedido<\/code><\/td><td>Indireto (filtro WHERE)<\/td><\/tr>\n<tr><td>todas as colunas<\/td><td><code>o.cliente_id<\/code> \/ <code>c.id_do_cliente<\/code><\/td><td>Indireto (condi\u00e7\u00e3o JOIN, GROUP BY)<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Observe as duas \u00faltimas linhas. <code>status_do_pedido<\/code> nunca aparece na sa\u00edda, mas alterar a forma como \u00e9 preenchido altera todos os n\u00fameros em <code>valor_do_cliente<\/code>O SQLFlow modela isso como <strong>linhagem indireta (de impacto)<\/strong>, um tipo de relacionamento separado e altern\u00e1vel, al\u00e9m do fluxo de dados direto. A maioria das ferramentas de linhagem n\u00e3o faz essa distin\u00e7\u00e3o, que \u00e9 exatamente a informa\u00e7\u00e3o necess\u00e1ria antes de modificar uma coluna de filtro em uma tabela compartilhada do Hive.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Trino e Presto s\u00e3o dialetos diferentes \u2014 o SQLFlow analisa ambos.<\/h2>\n\n\n\n<p>O Trino foi derivado do Presto (como PrestoSQL) e renomeado em 2020; desde ent\u00e3o, os dois dialetos divergiram. O SQLFlow \u00e9 fornecido. <strong>analisadores sint\u00e1ticos espec\u00edficos para cada dialeto, para Trino e para Presto.<\/strong>, entre seus 39 dialetos suportados \u2014 n\u00e3o uma gram\u00e1tica ANSI gen\u00e9rica com um indicador de compatibilidade. Se sua infraestrutura utiliza o PrestoDB juntamente com um cluster Trino mais recente, voc\u00ea seleciona o dialeto correspondente para cada fonte e ambos s\u00e3o analisados corretamente.<\/p>\n\n\n\n<p>Os analisadores sint\u00e1ticos prov\u00eam do General SQL Parser (GSP), um front-end comercial para compiladores SQL desenvolvido desde meados dos anos 2000 e validado com aproximadamente 13.600 conjuntos de testes por dialeto. O GSP constr\u00f3i um modelo sem\u00e2ntico completo de cada instru\u00e7\u00e3o \u2014 resolvendo refer\u00eancias de coluna por meio de CTEs, subconsultas, views e <code>SELECIONE *<\/code> expans\u00e3o \u2014 e seu analisador de fluxo de dados extrai as rela\u00e7\u00f5es de origem para destino. A expans\u00e3o em estrela importa mais no Trino do que em quase qualquer outro lugar: <code>SELECIONE *<\/code> Uma jun\u00e7\u00e3o federada extrai colunas de v\u00e1rios sistemas e, para expandi-la corretamente, \u00e9 necess\u00e1rio conhecer os metadados do esquema de cada cat\u00e1logo, que o SQLFlow pode ingerir juntamente com o SQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como gerar a linhagem Trino com o SQLFlow<\/h2>\n\n\n\n<ol><li><strong>Colete o SQL.<\/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>Escolha o dialeto.<\/strong> Trino ou Presto, conforme a fonte. Se o mesmo pipeline tamb\u00e9m contiver trabalhos Hive DDL ou Spark SQL, analise cada um em seu pr\u00f3prio dialeto; o SQLFlow oferece suporte a todos eles, e as implanta\u00e7\u00f5es corporativas armazenam os resultados em um reposit\u00f3rio de linhagem persistente.<\/li>\n<li><strong>Explorar e exportar.<\/strong> Rastreie qualquer coluna a montante ou a jusante no diagrama interativo, ative ou desative a linhagem indireta e exporte como JSON, CSV ou PNG \u2014 ou consulte o gr\u00e1fico por meio da API REST. Desde a vers\u00e3o 8.2.3, voc\u00ea tamb\u00e9m pode fazer perguntas em ingl\u00eas simples (\u201cde quais tabelas do Iceberg dependem?\u201d <code>postgresql.crm.clientes.email<\/code>?\u201d); cada tabela e coluna na resposta da IA \u00e9 validada em rela\u00e7\u00e3o ao gr\u00e1fico analisado antes de ser exibida.<\/li><\/ol>\n\n\n\n<p>Em escala empresarial, o SQLFlow realiza varreduras em lote de conjuntos de dados com mais de 100 bancos de dados e mais de um milh\u00e3o de colunas, executa varreduras incrementais, mant\u00e9m um reposit\u00f3rio de linhagem persistente e exporta para o DataHub, Microsoft Purview e OpenMetadata \u2014 de modo que a linhagem do Trino seja integrada ao cat\u00e1logo que sua equipe j\u00e1 utiliza.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An\u00e1lise est\u00e1tica de SQL versus linhagem de eventos em tempo de execu\u00e7\u00e3o<\/h2>\n\n\n\n<p>Outra forma comum de obter a linhagem do Trino \u00e9 a captura em tempo de execu\u00e7\u00e3o: interceptar os eventos de consulta do mecanismo e emitir a linhagem para cada instru\u00e7\u00e3o executada (o ecossistema OpenLineage funciona dessa maneira). A captura em tempo de execu\u00e7\u00e3o \u00e9 realmente boa em registrar o que foi executado, com o contexto real da sess\u00e3o. Sua desvantagem \u00e9 a cobertura e a profundidade: ela s\u00f3 v\u00ea as consultas executadas durante a janela de captura e exige a instrumenta\u00e7\u00e3o de todos os clusters.<\/p>\n\n\n\n<p>A an\u00e1lise est\u00e1tica, abordagem do SQLFlow, analisa o pr\u00f3prio c\u00f3digo SQL. Isso abrange tarefas agendadas que ainda n\u00e3o foram executadas, defini\u00e7\u00f5es de visualiza\u00e7\u00e3o e c\u00f3digo de reposit\u00f3rio em revis\u00e3o \u2014 e n\u00e3o requer nenhum agente no cluster nem l\u00ea dados de linhas de tabela. Em ambientes regulamentados, o <a href=\"https:\/\/www.gudusoft.com\/pt\/sqlflow-on-premise-versao\/\">Edi\u00e7\u00e3o On-Premise<\/a> (Docker\/Kubernetes) mant\u00e9m at\u00e9 mesmo o texto SQL dentro da sua rede. Muitas equipes usam ambos: eventos em tempo de execu\u00e7\u00e3o para monitoramento operacional e an\u00e1lise est\u00e1tica para uma an\u00e1lise completa do impacto antes da implanta\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linhagem ao longo do restante da pilha<\/h2>\n\n\n\n<p>O Trino raramente representa a hist\u00f3ria completa. As tabelas do Hive que ele consulta geralmente s\u00e3o carregadas por trabalhos do Hive ou do Spark, e os resultados frequentemente alimentam marts subsequentes. O SQLFlow analisa essas camadas com o mesmo mecanismo \u2014 consulte os guias espec\u00edficos para <a href=\"https:\/\/www.gudusoft.com\/pt\/linhagem-de-dados-da-colmeia\/\">linhagem de dados do Hive<\/a> e <a href=\"https:\/\/www.gudusoft.com\/pt\/linhagem-de-dados-clickhouse\/\">Linhagem de dados ClickHouse<\/a>ou o completo <a href=\"https:\/\/www.gudusoft.com\/pt\/ferramenta-de-linhagem-de-dados-sql\/\">Vis\u00e3o geral da ferramenta de linhagem de dados SQL<\/a> Abrangendo todos os 39 dialetos. Com cada camada analisada no reposit\u00f3rio de linhagem persistente, voc\u00ea pode rastrear uma coluna desde o trabalho do Spark que gravou a tabela do Hive, passando pela consulta federada do Trino, at\u00e9 o destino do Iceberg.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perguntas frequentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">O SQLFlow \u00e9 compat\u00edvel com Trino e Presto?<\/h3>\n\n\n<p>Sim. Trino e Presto s\u00e3o dois dos 39 analisadores sint\u00e1ticos espec\u00edficos de dialeto do SQLFlow. Selecione o dialeto que corresponde ao seu mecanismo; se voc\u00ea executar ambos, analise cada fonte com seu pr\u00f3prio dialeto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O SQLFlow consegue rastrear a linhagem em cat\u00e1logos Trino?<\/h3>\n\n\n<p>Sim. O SQLFlow resolve cada coluna para sua identidade totalmente qualificada de cat\u00e1logo.esquema.tabela.coluna, portanto, uma consulta que une cat\u00e1logos do Hive, PostgreSQL e Iceberg produz uma linhagem que mant\u00e9m as colunas de cada sistema distintas \u2014 inclusive para instru\u00e7\u00f5es INSERT que movem dados entre cat\u00e1logos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O SQLFlow precisa de acesso ao meu cluster Trino ou aos meus dados?<\/h3>\n\n\n<p>N\u00e3o. O SQLFlow realiza an\u00e1lise est\u00e1tica do c\u00f3digo SQL, opcionalmente usando metadados de esquema para resolver nomes e expandir SELECT *. Ele nunca l\u00ea linhas da tabela e n\u00e3o precisa de nenhum agente no cluster. A edi\u00e7\u00e3o On-Premise mant\u00e9m o texto SQL inteiramente dentro da sua rede.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O que o SQLFlow mostra para colunas nas cl\u00e1usulas WHERE e JOIN?<\/h3>\n\n\n<p>Elas aparecem como linhagem indireta (de impacto): um tipo de relacionamento separado para colunas que moldam o resultado sem aparecerem na sa\u00edda. Voc\u00ea pode ativar e desativar a linhagem indireta no diagrama \u2014 uma distin\u00e7\u00e3o que a maioria das ferramentas de linhagem n\u00e3o faz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posso exportar a linhagem Trino para o meu cat\u00e1logo de dados?<\/h3>\n\n\n<p>Sim. As implementa\u00e7\u00f5es empresariais incluem adaptadores de exporta\u00e7\u00e3o para DataHub, Microsoft Purview e OpenMetadata, al\u00e9m de exporta\u00e7\u00e3o em JSON e CSV e uma API REST para integra\u00e7\u00f5es personalizadas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qual o pre\u00e7o do SQLFlow?<\/h3>\n\n\n<p>O SQLFlow Cloud \u00e9 gratuito a partir de um primeiro plano; a vers\u00e3o premium custa \u00a349,99\/m\u00eas. O SQLFlow On-Premise custa \u00a3500\/m\u00eas ou \u00a34.800 (pagamento \u00fanico) por tipo de banco de dados selecionado, e pode ser instalado em dois servidores. Consulte <a href=\"https:\/\/www.gudusoft.com\/pt\/precos\/\">pre\u00e7os<\/a> Para mais detalhes.<\/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\">Agora voc\u00ea pode rastrear suas consultas federadas.<\/h2>\n\n\n<p>Cole uma consulta Trino que abrange v\u00e1rios cat\u00e1logos no visualizador gratuito e veja a linhagem em n\u00edvel de coluna em todos os cat\u00e1logos que ela abrange.<\/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\">Experimente o SQLFlow gratuitamente<\/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\/pt\/contato\/\">Solicite uma demonstra\u00e7\u00e3o empresarial<\/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\/pt\/wp-json\/wp\/v2\/pages\/6762"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/comments?post=6762"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages\/6762\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/media?parent=6762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}