{"id":6765,"date":"2026-07-12T02:08:18","date_gmt":"2026-07-12T10:08:18","guid":{"rendered":"https:\/\/www.gudusoft.com\/clickhouse-data-lineage\/"},"modified":"2026-07-12T02:08:18","modified_gmt":"2026-07-12T10:08:18","slug":"clickhouse-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/es\/linaje-de-datos-de-clickhouse\/","title":{"rendered":"Linaje de datos de ClickHouse: Rastreo de columnas a trav\u00e9s de vistas materializadas"},"content":{"rendered":"<p><strong>Linaje de datos de ClickHouse<\/strong> Es el mapa de c\u00f3mo fluyen las columnas a trav\u00e9s de su canalizaci\u00f3n de ClickHouse: qu\u00e9 tablas del motor Kafka, tablas MergeTree y consultas SELECT de la vista materializada alimentan cada columna posterior, y qu\u00e9 funciones y estados de agregaci\u00f3n transforman los datos en el proceso. Dado que las vistas materializadas de ClickHouse se definen completamente en SQL, el linaje preciso se obtiene analizando ese SQL. <a href=\"https:\/\/www.gudusoft.com\/es\/herramienta-de-linaje-de-datos-sql\/\">Flujo de SQL de Gudu<\/a> Lo hace mediante un analizador de dialectos espec\u00edfico de ClickHouse y devuelve diagramas de linaje interactivos a nivel de columna.<\/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>Pru\u00e9balo ahora:<\/strong> pega tu <code>CREAR VISTA MATERIALIZADA<\/code> declaraciones en el <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=clickhouse-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Visualizador SQLFlow gratuito<\/a>Seleccione el dialecto de ClickHouse y obtenga en segundos un diagrama de linaje a nivel de columna de su cadena MV.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 el linaje de datos de ClickHouse es un problema de vistas materializadas<\/h2>\n\n\n\n<p>En la mayor\u00eda de los almacenes de datos, la l\u00f3gica de transformaci\u00f3n reside en trabajos por lotes programados. En ClickHouse, reside en vistas materializadas. Una vista materializada de ClickHouse es un disparador de inserci\u00f3n: cada bloque escrito en la tabla de origen se procesa mediante la consulta SELECT de la vista materializada y se inserta en una tabla de destino. Los flujos de producci\u00f3n los encadenan: una tabla del motor Kafka alimenta una vista materializada que almacena filas sin procesar en una tabla MergeTree; otras vistas materializadas leen esa tabla y completan res\u00famenes SummingMergeTree o AggregatingMergeTree, y los paneles consultan dichos res\u00famenes.<\/p>\n\n\n\n<p>Ese dise\u00f1o es r\u00e1pido, pero dispersa el flujo de datos en muchos peque\u00f1os <code>CREAR VISTA MATERIALIZADA<\/code> declaraciones. Cuando un n\u00famero de panel parece incorrecto, o alguien quiere eliminar una columna de un tema de Kafka, hay que reconstruir la cadena manualmente: consulta <code>sistema.tablas<\/code>, lee cada MV <code>crear_consulta_tabla<\/code>, seguir cada <code>A<\/code> cl\u00e1usula, y repita hasta llegar a las hojas. Cada salto es una SELECT con sus propias expresiones, filtros y GROUP BY; por lo tanto, rastrear una sola columna correctamente significa analizar SQL, no buscar nombres de tablas.<\/p>\n\n\n\n<p>SQLFlow automatiza exactamente ese paso. Su analizador ClickHouse es uno de los 39 analizadores espec\u00edficos de dialecto (no una gram\u00e1tica ANSI gen\u00e9rica), por lo que las construcciones exclusivas de ClickHouse (cl\u00e1usulas del motor, <code>Funci\u00f3n agregada<\/code> columnas, <code>-Estado<\/code> combinadores, funciones como <code>hasta la fecha<\/code> y <code>\u00fanico<\/code> \u2014 se entienden en lugar de omitirse.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ejemplo: rastrear una columna desde Kafka hasta un AggregatingMergeTree<\/h2>\n\n\n\n<p>Aqu\u00ed se muestra una cadena de ingesta t\u00edpica de ClickHouse de dos saltos: una tabla del motor Kafka, un MV que persiste eventos sin procesar en MergeTree y un segundo MV que mantiene un resumen preagregado en una tabla AggregatingMergeTree.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE events_kafka ( event_time DateTime, user_id UInt64, event_type LowCardinality(String), revenue Decimal(18, 2) ) ENGINE = Kafka SETTINGS kafka_broker_list = &#039;kafka:9092&#039;, kafka_topic_list = &#039;events&#039;, kafka_format = &#039;JSONEachRow&#039;; CREATE TABLE events_raw ( event_time DateTime, user_id UInt64, event_type LowCardinality(String), revenue Decimal(18, 2) ) ENGINE = MergeTree ORDER BY (event_type, event_time); CREATE MATERIALIZED VIEW mv_events_raw TO events_raw AS SELECT event_time, user_id, event_type, revenue FROM events_kafka; CREATE TABLE revenue_daily ( day Date, event_type LowCardinality(String), total_revenue AggregateFunction(sum, Decimal(18, 2)), buyers AggregateFunction(uniq, UInt64) ) ENGINE = AggregatingMergeTree ORDER BY (day, event_type); CREATE MATERIALIZED VIEW mv_revenue_daily TO revenue_daily AS SELECT toDate(event_time) AS day, event_type, sumState(revenue) AS total_revenue, uniqState(user_id) AS buyers FROM events_raw WHERE event_type = &#039;purchase&#039; GROUP BY day, event_type;<\/code><\/pre>\n\n\n\n<p>Introduzca estas cuatro sentencias en SQLFlow y resolver\u00e1 la cadena completa. Para la tabla de resumen, informa, por columna de salida:<\/p>\n\n\n\n<ul><li><code>ingresos_diarios.ingresos_totales<\/code> proviene de <code>eventos_raw.revenue<\/code> a trav\u00e9s de <code>estado_sumo()<\/code>, que a su vez proviene de <code>eventos_kafka.ingresos<\/code> a trav\u00e9s de <code>mv_events_raw<\/code> \u2014 Un diagrama que muestra la ruta completa de Kafka a Rollup.<\/li>\n<li><code>ingresos_diarios.d\u00eda<\/code> deriva de <code>eventos_raw.tiempo_evento<\/code> a trav\u00e9s de <code>hasta la fecha()<\/code>; la funci\u00f3n aplicada se registra en el borde, no se descarta.<\/li>\n<li><code>ingresos_diarios.compradores<\/code> deriva de <code>eventos_raw.user_id<\/code> a trav\u00e9s de <code>uniqState()<\/code>.<\/li>\n<li><code>eventos_raw.tipo_evento<\/code> influencias <em>cada<\/em> columna de resumen indirectamente, debido a la <code>DONDE event_type = &#039;purchase&#039;<\/code> el filtro y el <code>AGRUPACI\u00d3N POR<\/code> \u2014 SQLFlow los marca como linaje indirecto, distinto de los enlaces directos del flujo de datos.<\/li><\/ul>\n\n\n\n<p>Ese \u00faltimo punto importa en ClickHouse m\u00e1s que en la mayor\u00eda de los motores. La correcci\u00f3n del rollup depende habitualmente de columnas de filtro que nunca aparecen en la salida. Si alguien cambia el nombre <code>tipo_de_evento<\/code> En el tema de Kafka, el linaje a nivel de tabla dice &quot;el rollup depende de events_raw&quot; \u2014 verdadero e in\u00fatil. El linaje a nivel de columna con aristas indirectas dice &quot;<code>ingresos_totales<\/code> y <code>compradores<\/code> ambos se filtran por esta columna exacta\u201d, que es la respuesta que realmente necesitas antes de enviar el cambio. La mayor\u00eda de las herramientas de linaje no modelan el linaje indirecto en absoluto; SQLFlow lo convierte en una capa que se puede activar y desactivar por separado en el diagrama.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lo que SQLFlow extrae de ClickHouse SQL<\/h2>\n\n\n\n<ul><li><strong>Linaje a nivel de columna:<\/strong> para cada columna de salida, las columnas de origen exactas que la alimentan y las funciones, conversiones, subconsultas, uniones y operadores de conjuntos en la ruta. Las referencias de columna se resuelven a trav\u00e9s de CTE, subconsultas, vistas y <code>SELECCIONAR *<\/code> expansi\u00f3n.<\/li>\n<li><strong>Linaje directo versus indirecto:<\/strong> Los bordes de flujo de datos puros se mantienen separados de los bordes de influencia (columnas utilizadas en <code>D\u00d3NDE<\/code>, <code>AGRUPACI\u00d3N POR<\/code>y condiciones de uni\u00f3n), y cada capa se puede activar o desactivar de forma independiente.<\/li>\n<li><strong>Cadenas MV de m\u00faltiples saltos:<\/strong> Debido a que la cl\u00e1usula SELECT de cada vista materializada se analiza y su tabla de destino se vincula, las vistas materializadas encadenadas se resuelven en un gr\u00e1fico continuo desde la tabla de ingesta hasta el resumen final.<\/li>\n<li><strong>Diagramas interactivos y datos estructurados:<\/strong> Puedes analizar en detalle el diagrama, exportar el linaje como JSON, CSV o PNG, o bien obtenerlo mediante programaci\u00f3n a trav\u00e9s de la API REST.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo integrar tu c\u00f3digo SQL de ClickHouse en SQLFlow<\/h2>\n\n\n\n<ol><li><strong>Pegar o subir.<\/strong> Copiar definiciones DDL y MV (por ejemplo, la <code>crear_consulta_tabla<\/code> valores fuera de <code>sistema.tablas<\/code>) en el navegador, o cargue sus archivos de migraci\u00f3n. Esta es la forma m\u00e1s r\u00e1pida de auditar una canalizaci\u00f3n.<\/li>\n<li><strong>Con\u00e9ctese a trav\u00e9s de JDBC.<\/strong> SQLFlow puede extraer metadatos de una base de datos en tiempo real a trav\u00e9s de JDBC, de modo que las definiciones de tablas y vistas provienen directamente del servidor en lugar de archivos que podr\u00edan estar obsoletos.<\/li>\n<li><strong>Automatizar la extracci\u00f3n.<\/strong> The Grabit\/SQLFlow-ingester utility extracts metadata on a schedule for repeatable, whole-estate scans.<\/li><\/ol>\n\n\n\n<p>En todos los modos, SQLFlow realiza un an\u00e1lisis est\u00e1tico del c\u00f3digo SQL \u00fanicamente. Nunca lee filas de sus tablas y con el <a href=\"https:\/\/www.gudusoft.com\/es\/version-local-de-sqlflow\/\">Edici\u00f3n local<\/a> (Docker\/Kubernetes, compatible con entornos aislados) incluso el texto SQL nunca sale de su red, lo cual es relevante si su cl\u00faster de ClickHouse contiene datos de eventos que no puede enviar a un SaaS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9todos para obtener informaci\u00f3n de linaje de ClickHouse, comparados<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Acercarse<\/th><th>Bueno en<\/th><th>Brecha para las cadenas de v\u00eddeos musicales de ClickHouse<\/th><\/tr><\/thead><tbody>\n<tr><td>Lectura <code>sistema.tablas<\/code> a mano<\/td><td>Gratis, siempre actualizado, sin necesidad de herramientas.<\/td><td>Te conviertes en el analizador sint\u00e1ctico; las cadenas de m\u00faltiples saltos y las rutas por columna se reconstruyen manualmente y se vuelven obsoletas en tu cabeza.<\/td><\/tr>\n<tr><td>Analizadores sint\u00e1cticos de c\u00f3digo abierto (<code>sqllineage<\/code>, <code>sqlglot<\/code>)<\/td><td>Implementaci\u00f3n de scripts para la comprobaci\u00f3n del linaje de consultas individuales dentro de sus propias herramientas.<\/td><td>Son bibliotecas, no productos de linaje: ensamblar sentencias MV encadenadas en un gr\u00e1fico navegable a nivel de columna, con diagramas y separaci\u00f3n de linaje indirecto, es c\u00f3digo que usted escribe y mantiene.<\/td><\/tr>\n<tr><td>Plataformas basadas en cat\u00e1logos<\/td><td>Flujos de trabajo de gobernanza, propiedad, glosario empresarial en toda la pila<\/td><td>La profundidad del linaje depende de su an\u00e1lisis SQL por dialecto; un analizador especializado normalmente profundiza m\u00e1s en el linaje de ClickHouse a nivel de columna.<\/td><\/tr>\n<tr><td>Flujo de SQL de Gudu<\/td><td>Linaje de ClickHouse a nivel de columna a partir de un analizador de dialectos especializado, con separaci\u00f3n directa\/indirecta y diagramas.<\/td><td>Herramienta comercial; an\u00e1lisis est\u00e1tico por dise\u00f1o: mapea la l\u00f3gica SQL, no la telemetr\u00eda de trabajos en tiempo de ejecuci\u00f3n.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Estos enfoques tambi\u00e9n combinan: las implementaciones empresariales de SQLFlow exportan el linaje a DataHub, Microsoft Purview y OpenMetadata, de modo que SQLFlow puede funcionar como el motor de an\u00e1lisis detr\u00e1s del cat\u00e1logo que ya utiliza. A gran escala, escanea por lotes conjuntos de m\u00e1s de 100 bases de datos y m\u00e1s de un mill\u00f3n de columnas con escaneos incrementales y un repositorio de linaje persistente (ClickHouse) junto con el resto de su infraestructura.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ClickHouse rara vez vive solo<\/h2>\n\n\n\n<p>El servicio en tiempo real en ClickHouse suele estar junto a otros motores: una capa de federaci\u00f3n, an\u00e1lisis locales, un almac\u00e9n de lotes. SQLFlow los analiza todos con el mismo motor: el analizador SQL general, desarrollado comercialmente desde mediados de la d\u00e9cada de 2000 y validado con aproximadamente 13.600 conjuntos de pruebas por dialecto, por lo que el linaje se mantiene a nivel de columna en todos los l\u00edmites de los motores. Si su pila los incluye, consulte las gu\u00edas complementarias sobre <a href=\"https:\/\/www.gudusoft.com\/es\/linaje-de-datos-trino\/\">Linaje de datos de Trino<\/a> para capas de consulta federadas y <a href=\"https:\/\/www.gudusoft.com\/es\/linaje-de-datos-de-duckdb\/\">Linaje de datos de DuckDB<\/a> para an\u00e1lisis en proceso, o explore el <a href=\"https:\/\/www.gudusoft.com\/es\/base-de-conocimiento-de-linaje-de-datos\/\">base de conocimiento del linaje de datos<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuede SQLFlow rastrear el linaje a trav\u00e9s de vistas materializadas de ClickHouse encadenadas?<\/h3>\n\n\n<p>S\u00ed. La consulta SELECT de cada vista materializada se analiza y su tabla de destino se vincula al gr\u00e1fico, de modo que una tabla del motor Kafka que alimenta una MV, que a su vez alimenta una tabla MergeTree, y que alimenta otra MV en un AggregatingMergeTree, se resuelve como una ruta continua a nivel de columna.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfSQLFlow entiende la sintaxis SQL espec\u00edfica de ClickHouse?<\/h3>\n\n\n<p>S\u00ed. ClickHouse es uno de los 39 analizadores sint\u00e1cticos espec\u00edficos de dialecto de SQLFlow. Es una gram\u00e1tica dedicada, no un analizador ANSI gen\u00e9rico, por lo que las construcciones de ClickHouse, como las cl\u00e1usulas engine y las columnas de estado de las funciones de agregaci\u00f3n, se analizan en lugar de omitirse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfSQLFlow necesita acceso a mis datos de ClickHouse?<\/h3>\n\n\n<p>No. SQLFlow realiza un an\u00e1lisis est\u00e1tico del c\u00f3digo SQL y, opcionalmente, de los metadatos del esquema obtenidos a trav\u00e9s de JDBC. Nunca lee filas de sus tablas, y la edici\u00f3n local mantiene incluso el texto SQL dentro de su red.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 significa \u201clinaje indirecto\u201d para un rollup de ClickHouse?<\/h3>\n\n\n<p>Una columna utilizada en el filtro WHERE o GROUP BY de una vista materializada nunca aparece en el resultado del resumen, pero determina qu\u00e9 filas se agregan. SQLFlow registra estas columnas como aristas de linaje indirectas, separadas del flujo de datos directo, y permite alternar cada capa en el diagrama.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfCu\u00e1nto cuesta SQLFlow para ClickHouse Lineage?<\/h3>\n\n\n<p>SQLFlow Cloud tiene un nivel gratuito; el premium cuesta $49.99\/mes. SQLFlow On-Premise cuesta $500\/mes o $4,800 por \u00fanica vez por tipo de base de datos seleccionado, instalable en dos servidores. Los detalles est\u00e1n en el <a href=\"https:\/\/www.gudusoft.com\/es\/precios\/\">p\u00e1gina de precios<\/a>.<\/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\">Mapea tus cadenas de v\u00eddeos musicales de ClickHouse ahora<\/h2>\n\n\n<p>Pegue sus sentencias CREATE MATERIALIZED VIEW en el visualizador gratuito y vea el linaje completo de Kafka a rollup, o cont\u00e1ctenos para que analicemos todo su sistema.<\/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=clickhouse-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Prueba SQLFlow gratis<\/a><\/div>\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/es\/contacto\/\">Solicite una demostraci\u00f3n para empresas.<\/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\\\/clickhouse-data-lineage\\\/\",\n            \"description\": \"Automated SQL data lineage tool with a dedicated ClickHouse dialect parser: traces column-level lineage through chained materialized views, from Kafka engine tables to AggregatingMergeTree rollups.\",\n            \"featureList\": \"ClickHouse dialect parser, column-level lineage, direct vs indirect lineage, materialized view chain resolution, 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 chained ClickHouse materialized views?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Each materialized view's SELECT is parsed and its target table is linked into the graph, so a Kafka engine table feeding an MV, feeding a MergeTree table, feeding another MV into an AggregatingMergeTree resolves as one continuous column-level path.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow understand ClickHouse-specific SQL syntax?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. ClickHouse is one of SQLFlow's 39 dialect-specific parsers. It is a dedicated grammar, not a generic ANSI parser, so ClickHouse constructs such as engine clauses and aggregate function state columns are parsed rather than skipped.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow need access to my ClickHouse data?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow performs static analysis of SQL code and, optionally, schema metadata pulled over JDBC. It never reads rows from your tables, and the On-Premise edition keeps even the SQL text inside your network.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What does indirect lineage mean for a ClickHouse rollup?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"A column used in a materialized view's WHERE filter or GROUP BY never appears in the rollup's output, yet it determines which rows are aggregated. SQLFlow records these as indirect lineage edges, separate from direct dataflow, and lets you toggle each layer in the diagram.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How much does SQLFlow cost for ClickHouse lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow Cloud has a free tier; 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>ClickHouse data lineage is the map of how columns flow through your ClickHouse pipeline: which Kafka engine tables, MergeTree tables, and materialized view SELECTs feed each downstream column, and which functions and aggregate states transform the data along the way. Because ClickHouse materialized views are defined entirely in SQL, accurate lineage comes from parsing that SQL. Gudu SQLFlow does this with a dedicated ClickHouse dialect parser and returns interactive, column-level lineage diagrams. Try it now: paste your CREATE MATERIALIZED VIEW statements into the free SQLFlow visualizer, select the ClickHouse dialect, and get a column-level lineage diagram of your MV chain\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\/es\/wp-json\/wp\/v2\/pages\/6765"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/comments?post=6765"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages\/6765\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/media?parent=6765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}