{"id":6758,"date":"2026-07-12T02:07:13","date_gmt":"2026-07-12T10:07:13","guid":{"rendered":"https:\/\/www.gudusoft.com\/hive-data-lineage\/"},"modified":"2026-07-12T02:07:13","modified_gmt":"2026-07-12T10:07:13","slug":"hive-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/pt\/linhagem-de-dados-da-colmeia\/","title":{"rendered":"Linhagem de dados do Hive: Linhagem em n\u00edvel de coluna para HQL e Hadoop ETL"},"content":{"rendered":"<p><strong>linhagem de dados do Hive<\/strong> \u00e9 o mapa em n\u00edvel de coluna de como os dados fluem pelo seu HQL: quais tabelas e colunas de origem alimentam cada tabela, parti\u00e7\u00e3o e visualiza\u00e7\u00e3o do Hive, e por meio de quais jun\u00e7\u00f5es, agrega\u00e7\u00f5es e <code>VISTA LATERAL<\/code> expans\u00f5es. A maneira mais confi\u00e1vel de constru\u00ed-lo \u00e9 analisar o pr\u00f3prio HQL \u2014 <strong>Gudu SQLFlow<\/strong> Inclui um analisador de dialetos Hive dedicado que transforma seus scripts em um diagrama de linhagem interativo em n\u00edvel de coluna, sem afetar seu cluster.<\/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>Experimente agora:<\/strong> Cole qualquer script HiveQL no <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=hive-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Visualizador de linhagem Hive online gratuito<\/a>Selecione o dialeto do Hive e obtenha um diagrama de linhagem em n\u00edvel de coluna em segundos. N\u00e3o \u00e9 necess\u00e1rio acesso ao cluster \u2014 o plano gratuito funciona no navegador.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Por que a linhagem de dados do Hive \u00e9 mais dif\u00edcil do que parece<\/h2>\n\n\n\n<p>Um t\u00edpico data warehouse Hadoop acumula anos de HQL: cargas de prepara\u00e7\u00e3o, particionadas. <code>INSERIR SOBRESCREVER<\/code> empregos, visualiza\u00e7\u00f5es em tabelas externas e scripts agendados pelo Oozie ou Airflow que ningu\u00e9m l\u00ea desde que a pessoa que os escreveu saiu. Respondendo \u00e0 pergunta \u201co que alimenta <code>dw.receita_di\u00e1ria<\/code>?\u201d ou \u201co que quebra se deixarmos cair <code>staging.orders.status<\/code>?\u201d significa rastrear as refer\u00eancias de coluna em todo o sistema.<\/p>\n\n\n\n<p>Os analisadores SQL gen\u00e9ricos trope\u00e7am nas constru\u00e7\u00f5es que fazem do HiveQL um dialeto pr\u00f3prio:<\/p>\n\n\n\n<ul><li><strong><code>VISTA LATERAL explode()<\/code><\/strong> \u2014 uma coluna de entrada de matrizes ou mapas se desdobra em v\u00e1rias linhas e novas colunas derivadas. O Lineage precisa conectar as colunas de sa\u00edda desdobradas de volta \u00e0 cole\u00e7\u00e3o de origem \u00fanica.<\/li>\n<li><strong>Particionado <code>INSERIR SOBRESCREVER<\/code><\/strong> \u2014 a coluna de parti\u00e7\u00e3o pode vir de um literal est\u00e1tico no <code>PARTI\u00c7\u00c3O<\/code> cl\u00e1usula ou dinamicamente a partir das \u00faltimas colunas SELECT. Em ambos os casos, as colunas que contam como fontes de linhagem s\u00e3o alteradas.<\/li>\n<li><strong>Tabelas externas<\/strong> \u2014 a tabela \u00e9 um esquema sobre arquivos no HDFS ou em armazenamento de objetos. O Lineage deve trat\u00e1-la como uma fonte de primeira classe, mesmo que nenhum SQL upstream a tenha escrito.<\/li>\n<li><strong>Sintaxe espec\u00edfica do Hive<\/strong> \u2014 <code>DISTRIBUIR POR<\/code>, <code>AGRUPAR POR<\/code>, inser\u00e7\u00e3o m\u00faltipla (<code>DE ... INSERIR ... INSERIR ...<\/code>), tipos com suporte SerDe e identificadores entre crases invertidas quebram gram\u00e1ticas que seguem apenas o padr\u00e3o ANSI.<\/li><\/ul>\n\n\n\n<p>O SQLFlow analisa o HiveQL com um analisador de dialeto dedicado, um dos 39 analisadores espec\u00edficos de dialeto na ferramenta \u2014 uma gram\u00e1tica criada para o HiveQL, n\u00e3o um analisador ANSI gen\u00e9rico com exce\u00e7\u00f5es adicionadas. O mecanismo subjacente, o <a href=\"https:\/\/www.sqlparser.com\/\">Analisador SQL geral<\/a>, vem sendo desenvolvido comercialmente desde meados dos anos 2000 e \u00e9 validado em aproximadamente 13.600 conjuntos de testes SQL por dialeto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hooks do Atlas versus an\u00e1lise de HQL: duas maneiras de obter a linhagem do Hive<\/h2>\n\n\n\n<p>A maioria das equipes Hadoop tem seu primeiro contato com a linhagem atrav\u00e9s de <strong>Atlas Apache<\/strong>O Atlas \u00e9 realmente bom naquilo para que foi criado: seu gancho para o Hive fica no cluster e captura a linhagem \u00e0 medida que os trabalhos s\u00e3o executados, fornecendo um registro de governan\u00e7a em tempo real do que foi executado e quando, integrado \u00e0 classifica\u00e7\u00e3o e \u00e0 marca\u00e7\u00e3o em toda a pilha Hadoop.<\/p>\n\n\n\n<p>A abordagem do gancho tem, no entanto, limita\u00e7\u00f5es estruturais, e elas se tornam mais relevantes justamente quando as equipes buscam por linhagem:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>Ganchos de tempo de execu\u00e7\u00e3o (estilo Atlas)<\/th><th>An\u00e1lise sint\u00e1tica de HQL (SQLFlow)<\/th><\/tr><\/thead><tbody>\n<tr><td>Requer um cluster em execu\u00e7\u00e3o.<\/td><td>Sim \u2014 a linhagem \u00e9 capturada somente quando os trabalhos s\u00e3o executados com o gancho instalado.<\/td><td>N\u00e3o \u2014 an\u00e1lise est\u00e1tica do texto SQL, em qualquer lugar.<\/td><\/tr>\n<tr><td>Abrange c\u00f3digo que n\u00e3o foi executado.<\/td><td>N\u00e3o \u2014 um script que nunca foi executado n\u00e3o deixa rastros.<\/td><td>Sim \u2014 todos os scripts no reposit\u00f3rio, incluindo tarefas obsoletas ou raramente executadas.<\/td><\/tr>\n<tr><td>Funciona durante\/ap\u00f3s a migra\u00e7\u00e3o<\/td><td>Dif\u00edcil \u2014 uma vez que o cluster \u00e9 desativado, o ponto de captura tamb\u00e9m \u00e9 desativado.<\/td><td>Sim \u2014 analise o HQL exportado offline, antes, durante e depois da migra\u00e7\u00e3o.<\/td><\/tr>\n<tr><td>Cobertura hist\u00f3rica<\/td><td>Come\u00e7a quando voc\u00ea instala o gancho.<\/td><td>Completo \u2014 o c\u00f3digo \u00e9 o registro.<\/td><\/tr>\n<tr><td>L\u00ea seus dados<\/td><td>Executa dentro do cluster juntamente com os trabalhos.<\/td><td>Nunca \u2014 somente texto SQL e metadados de esquema.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Essas abordagens s\u00e3o complementares, n\u00e3o rivais: os hooks informam o que foi executado; um parser informa o que o c\u00f3digo faz. Se a sua pergunta \u00e9 &quot;documentar todas as depend\u00eancias neste ambiente Hive para que possamos audit\u00e1-las ou mov\u00ea-las&quot;, a an\u00e1lise sint\u00e1tica \u00e9 a ferramenta que responde a essa pergunta \u2014 e o SQLFlow pode enviar seus resultados para... <strong>DataHub, Microsoft Purview ou OpenMetadata<\/strong> se um desses for o seu sistema de registro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linhagem em n\u00edvel de coluna de um trabalho HiveQL real<\/h2>\n\n\n\n<p>Eis o formato do trabalho que todo data warehouse Hadoop executa todas as noites \u2014 um particionado <code>INSERIR SOBRESCREVER<\/code> Constru\u00eddo a partir de mesas de prepara\u00e7\u00e3o unidas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT OVERWRITE TABLE dw.daily_revenue PARTITION (ds = &#039;2026-07-11&#039;) SELECT c.region, SUM(o.amount) AS revenue, COUNT(DISTINCT o.order_id) AS order_cnt FROM staging.orders o JOIN staging.customers c ON o.customer_id = c.customer_id WHERE o.ds = &#039;2026-07-11&#039; AND o.status = &#039;COMPLETE&#039; GROUP BY c.region;<\/code><\/pre>\n\n\n\n<p>Execute isso no SQLFlow e o diagrama mostrar\u00e1, por coluna de sa\u00edda:<\/p>\n\n\n\n<ul><li><code>dw.receita_di\u00e1ria.receita<\/code> \u00e9 alimentado diretamente por <code>staging.orders.amount<\/code> atrav\u00e9s <code>SOMA()<\/code>.<\/li>\n<li><code>dw.receita_di\u00e1ria.contagem_de_pedidos<\/code> \u00e9 alimentado por <code>staging.orders.order_id<\/code> atrav\u00e9s <code>CONTAR(DISTINTO)<\/code>.<\/li>\n<li><code>dw.receita_di\u00e1ria.regi\u00e3o<\/code> mapas diretamente de <code>regi\u00e3o de clientes de prepara\u00e7\u00e3o<\/code>.<\/li>\n<li>O valor da parti\u00e7\u00e3o est\u00e1tica \u00e9 preenchido. <code>dw.daily_revenue.ds<\/code> \u2014 O SQLFlow modela a coluna de parti\u00e7\u00e3o como um destino de linhagem, mesmo que ela nunca apare\u00e7a na lista SELECT.<\/li>\n<li><code>staging.orders.status<\/code>, <code>staging.orders.ds<\/code>e ambos <code>id_do_cliente<\/code> As colunas moldam o resultado atrav\u00e9s do <code>ONDE<\/code> e <code>JUNTAR<\/code> condi\u00e7\u00f5es sem chegar \u00e0 sa\u00edda. O SQLFlow registra isso como <strong>linhagem indireta (de impacto)<\/strong>, um tipo de relacionamento separado e altern\u00e1vel. A maioria das ferramentas de linhagem n\u00e3o faz essa distin\u00e7\u00e3o, mas \u00e9 exatamente disso que a an\u00e1lise de impacto precisa: mudan\u00e7a <code>status<\/code> A codifica\u00e7\u00e3o e todos os n\u00fameros de receita subsequentes s\u00e3o movimentados.<\/li><\/ul>\n\n\n\n<p>A mesma resolu\u00e7\u00e3o de coluna funciona atrav\u00e9s de <code>VISTA LATERAL explode()<\/code>: se uma tabela subsequente selecionar <code>item.sku<\/code> de uma explos\u00e3o <code>itens_do_pedido<\/code> matriz, rastreamentos SQLFlow <code>SKU<\/code> de volta \u00e0 coluna da cole\u00e7\u00e3o de origem, atrav\u00e9s do alias da tabela introduzido pela vis\u00e3o lateral. Tamb\u00e9m resolve refer\u00eancias por meio de CTEs, subconsultas aninhadas, vis\u00f5es e <code>SELECIONE *<\/code> expans\u00e3o, portanto, o HQL legado com muitas estrelas ainda produz bordas de coluna precisas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linhagem da colmeia no momento da migra\u00e7\u00e3o<\/h2>\n\n\n\n<p>O motivo mais comum pelo qual as equipes precisam de linhagem do Hive hoje em dia \u00e9 a migra\u00e7\u00e3o para outras plataformas, como Spark, Databricks ou um data warehouse na nuvem. Seja qual for o destino \u2014 Spark, Databricks ou um data warehouse na nuvem \u2014, as perguntas s\u00e3o as mesmas: quais jobs alimentam quais tabelas, em que ordem precisam ser migrados e quais desses 4.000 scripts est\u00e3o realmente obsoletos?<\/p>\n\n\n\n<p>Como o SQLFlow funciona apenas com o c\u00f3digo, voc\u00ea pode executar a an\u00e1lise em uma exporta\u00e7\u00e3o do seu reposit\u00f3rio HQL a partir de qualquer m\u00e1quina \u2014 sem necessidade de acesso ao cluster (que pode j\u00e1 estar congelado). A an\u00e1lise em lote foi desenvolvida para isso: o SQLFlow analisa conjuntos de mais de 100 bancos de dados e mais de um milh\u00e3o de colunas, mant\u00e9m os resultados em um reposit\u00f3rio de linhagem persistente e atualiza incrementalmente conforme os scripts s\u00e3o alterados durante a migra\u00e7\u00e3o. E desde o Hive, <a href=\"https:\/\/www.gudusoft.com\/pt\/linhagem-de-dados-spark-sql\/\">Spark SQL<\/a>, e <a href=\"https:\/\/www.gudusoft.com\/pt\/linhagem-de-dados-databricks\/\">Databricks<\/a> Cada um possui seu pr\u00f3prio analisador de dialeto na mesma ferramenta; voc\u00ea pode analisar o texto original e o texto reescrito lado a lado e verificar se a nova linhagem corresponde \u00e0 antiga.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como executar<\/h2>\n\n\n\n<ul><li><strong>Cole ou carregue o arquivo HQL.<\/strong> No SQLFlow Cloud \u2014 plano gratuito, resultados no navegador, export\u00e1veis como JSON, CSV ou PNG.<\/li>\n<li><strong>Extrair metadados do metastore<\/strong> via JDBC, de forma que as defini\u00e7\u00f5es de visualiza\u00e7\u00e3o e os esquemas sejam resolvidos. <code>SELECIONE *<\/code> e fa\u00e7a refer\u00eancias cruzadas entre scripts corretamente.<\/li>\n<li><strong>Automatize isso<\/strong> atrav\u00e9s do <a href=\"https:\/\/www.gudusoft.com\/pt\/api-restful-sqlflow\/\">API REST<\/a> ou CLI sem interface gr\u00e1fica \u2014 por exemplo, analisar cada altera\u00e7\u00e3o de HQL na CI antes de ela ser mesclada.<\/li>\n<li><strong>Mantenha tudo dentro da rede.<\/strong> com <a href=\"https:\/\/www.gudusoft.com\/pt\/sqlflow-on-premise-versao\/\">SQLFlow no local<\/a>Docker ou Kubernetes, com isolamento f\u00edsico (air-gapped) se necess\u00e1rio, $500\/m\u00eas ou $4.800 (pagamento \u00fanico) por tipo de banco de dados selecionado. Muitas infraestruturas Hadoop est\u00e3o localizadas em bancos e empresas de telecomunica\u00e7\u00f5es onde o texto SQL n\u00e3o pode sair da rede; esta edi\u00e7\u00e3o existe para elas.<\/li><\/ul>\n\n\n\n<p>Em todas as implementa\u00e7\u00f5es, o SQLFlow realiza apenas an\u00e1lises est\u00e1ticas: ele l\u00ea o c\u00f3digo SQL e os metadados do esquema, nunca as linhas das suas tabelas. Desde a vers\u00e3o 8.2.3, voc\u00ea tamb\u00e9m pode consultar o gr\u00e1fico resultante em linguagem natural (&quot;quais tabelas dependem de quais tabelas?&quot;). <code>pedidos de prepara\u00e7\u00e3o<\/code>?\u201d), com cada tabela e coluna na resposta validada em rela\u00e7\u00e3o ao gr\u00e1fico analisado antes da exibi\u00e7\u00e3o. Para uma vis\u00e3o geral das funcionalidades, consulte o <a href=\"https:\/\/www.gudusoft.com\/pt\/ferramenta-de-linhagem-de-dados-sql\/\">Vis\u00e3o geral da ferramenta de linhagem de dados SQL<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perguntas frequentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">O SQLFlow consegue construir a linhagem do Hive sem acesso ao cluster?<\/h3>\n\n\n<p>Sim. O SQLFlow analisa texto HQL, ent\u00e3o uma exporta\u00e7\u00e3o dos seus scripts (mais o DDL para precis\u00e3o) \u00e9 necess\u00e1ria. <code>SELECIONE *<\/code> A resolu\u00e7\u00e3o \u00e9 suficiente. Essa \u00e9 a principal diferen\u00e7a em rela\u00e7\u00e3o \u00e0s abordagens baseadas em hooks, como o Apache Atlas, que capturam a linhagem apenas quando os jobs s\u00e3o executados em um cluster ativo com o hook instalado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ele lida com LATERAL VIEW explode e outras sintaxes espec\u00edficas do Hive?<\/h3>\n\n\n<p>Sim. O Hive possui seu pr\u00f3prio analisador sint\u00e1tico dedicado entre os 39 analisadores de dialetos do SQLFlow, abrangendo <code>VISTA LATERAL explode()<\/code>, particionado <code>INSERIR SOBRESCREVER<\/code>e tabelas externas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A linhagem est\u00e1 em n\u00edvel de coluna ou em n\u00edvel de tabela?<\/h3>\n\n\n<p>N\u00edvel de coluna. Para cada coluna de sa\u00edda, o SQLFlow identifica as colunas de origem exatas que a alimentam, bem como as fun\u00e7\u00f5es, convers\u00f5es, jun\u00e7\u00f5es e operadores de conjunto utilizados. Al\u00e9m disso, registra a linhagem indireta \u2014 colunas usadas em <code>ONDE<\/code>, <code>JUNTAR<\/code>, e <code>AGRUPAR POR<\/code> cl\u00e1usulas que moldam o resultado sem aparecerem nele.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posso exportar a linhagem do Hive para 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\">O SQLFlow l\u00ea os dados armazenados nas minhas tabelas do Hive?<\/h3>\n\n\n<p>N\u00e3o. Ele realiza an\u00e1lise est\u00e1tica do c\u00f3digo SQL e, opcionalmente, l\u00ea metadados do esquema do metastore. Os dados das linhas da tabela nunca s\u00e3o alterados e, na edi\u00e7\u00e3o On-Premise, o pr\u00f3prio texto SQL nunca sai da sua rede.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qual o custo do SQLFlow?<\/h3>\n\n\n<p>O SQLFlow Cloud \u00e9 gratuito a partir de um primeiro momento; contas premium custam \u00a349,99\/m\u00eas. O SQLFlow On-Premise custa \u00a3500\/m\u00eas ou \u00a34.800 (pagamento \u00fanico) por tipo de banco de dados selecionado, instal\u00e1vel em dois servidores, com tipos de banco de dados adicionais a \u00a3100\/m\u00eas ou \u00a31.000 (pagamento \u00fanico) cada.<\/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\">Mapeie a linhagem da sua propriedade Hive<\/h2>\n\n\n<p>Cole um script HQL no visualizador gratuito ou fale conosco sobre a possibilidade de realizar uma varredura em lote de todo o seu data warehouse Hadoop antes do in\u00edcio da migra\u00e7\u00e3o.<\/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=hive-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\\\/hive-data-lineage\\\/\",\n            \"description\": \"Automated data lineage for Apache Hive: a dedicated HiveQL parser produces interactive column-level lineage diagrams from HQL scripts \\u2014 LATERAL VIEW, partitioned INSERT OVERWRITE, external tables \\u2014 with no running cluster required.\",\n            \"featureList\": \"Hive dialect parser, column-level lineage, indirect\\\/impact lineage, LATERAL VIEW explode support, partitioned INSERT OVERWRITE, batch estate scanning, DataHub\\\/Purview\\\/OpenMetadata export, REST API, on-premise deployment\",\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 build Hive lineage without access to the cluster?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. SQLFlow parses HQL text, so an export of your scripts plus DDL is enough. Hook-based approaches like Apache Atlas capture lineage only when jobs execute on a live cluster with the hook installed.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does it handle LATERAL VIEW explode and other Hive-specific syntax?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Hive has its own dedicated parser among SQLFlow's 39 dialect parsers, covering LATERAL VIEW explode(), partitioned INSERT OVERWRITE, and external tables.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Is the lineage column-level or table-level?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Column-level. For each output column, SQLFlow identifies the exact source columns that feed it and the functions, casts, joins, and set operators along the way, plus indirect lineage from WHERE, JOIN, and GROUP BY clauses.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can I export Hive 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\": \"Does SQLFlow read the data stored in my Hive tables?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. It performs static analysis of SQL code and optionally reads schema metadata from the metastore. Table row data is never touched, and with the On-Premise edition the SQL text never leaves your network.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What 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, with additional database types at $100\\\/month or $1,000 one-time each.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>Hive data lineage is the column-level map of how data flows through your HQL: which source tables and columns feed each Hive table, partition, and view, and through which joins, aggregations, and LATERAL VIEW expansions. The most reliable way to build it is to parse the HQL itself \u2014 Gudu SQLFlow ships a dedicated Hive dialect parser that turns your scripts into an interactive, column-level lineage diagram without touching your cluster. Try it now: paste any HiveQL script into the free online Hive lineage visualizer, select the Hive dialect, and get a column-level lineage diagram in seconds. No cluster access\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\/6758"}],"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=6758"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages\/6758\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/media?parent=6758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}