> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-vortex-format.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Estado del adaptador de ClickHouse en dbt OSS, dbt v2 y la plataforma dbt

# dbt OSS, v2 y Platform (Beta)

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <span>Beta</span>
            </a>;
  }
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>Funcionalidad beta</span>
        </a>;
};

export const ClickHouseSupportedBadge = () => {
  return <div className="ClickHouseSupportedBadge">
            <div className="ClickHouseSupportedIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <path d="M1.30762 1.39073C1.30762 1.3103 1.37465 1.22986 1.46849 1.22986H2.64824C2.72868 1.22986 2.80912 1.29689 2.80912 1.39073V14.4886C2.80912 14.5691 2.74209 14.6495 2.64824 14.6495H1.46849C1.38805 14.6495 1.30762 14.5825 1.30762 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M4.2832 1.39073C4.2832 1.3103 4.35023 1.22986 4.44408 1.22986H5.62383C5.70427 1.22986 5.7847 1.29689 5.7847 1.39073V14.4886C5.7847 14.5691 5.71767 14.6495 5.62383 14.6495H4.44408C4.36364 14.6495 4.2832 14.5825 4.2832 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M7.25977 1.39073C7.25977 1.3103 7.3268 1.22986 7.42064 1.22986H8.60039C8.68083 1.22986 8.76127 1.29689 8.76127 1.39073V14.4886C8.76127 14.5691 8.69423 14.6495 8.60039 14.6495H7.42064C7.3402 14.6495 7.25977 14.5825 7.25977 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M10.2354 1.39073C10.2354 1.3103 10.3024 1.22986 10.3962 1.22986H11.576C11.6564 1.22986 11.7369 1.29689 11.7369 1.39073V14.4886C11.7369 14.5691 11.6698 14.6495 11.576 14.6495H10.3962C10.3158 14.6495 10.2354 14.5825 10.2354 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M13.2256 6.6057C13.2256 6.52526 13.2926 6.44482 13.3865 6.44482H14.5662C14.6466 6.44482 14.7271 6.51186 14.7271 6.6057V9.27354C14.7271 9.35398 14.6601 9.43442 14.5662 9.43442H13.3865C13.306 9.43442 13.2256 9.36739 13.2256 9.27354V6.6057Z" fill="currentColor" />
                </svg>
            </div>
            Compatible con ClickHouse
        </div>;
};

<ClickHouseSupportedBadge />

<BetaBadge link="https://github.com/ClickHouse/dbt-clickhouse/issues/660" />

dbt se está reconstruyendo sobre un nuevo motor, y ClickHouse forma parte de ello desde el principio. ClickHouse ya funciona con el nuevo motor de dbt escrito en Rust, tanto en dbt OSS como en dbt v2, y por primera vez es posible conectarse a ClickHouse desde la plataforma dbt. Tu proyecto no cambia: los mismos modelos, tests y profiles que hoy se ejecutan en dbt Core 1.x se ejecutan en el nuevo motor; lo único distinto es el binary.

ClickHouse es el primer adaptador de la comunidad en dbt OSS, dbt v2 y la plataforma dbt. Los adaptadores propios de dbt se lanzan junto con el nuestro; nosotros somos los primeros ajenos a dbt Labs. El adaptador de Python para dbt Core 1.x, `dbt-clickhouse`, no desaparece: lo mantenemos al día con los releases de dbt 1.x y damos mantenimiento a ambos adaptadores en paralelo.

<Warning>
  **No está listo para producción.** El adaptador de ClickHouse para dbt OSS y dbt v2, así como la conexión con la plataforma dbt, todavía no están generally available (GA). Úsalos únicamente en proyectos de desarrollo o de staging.
</Warning>

<Note>
  **La documentación de dbt Core 1.x también se aplica a dbt OSS y dbt v2.** El adaptador se comporta igual en ambos motores: los profiles, las configuraciones de modelo, las materializaciones y los macros descritos en las demás páginas de dbt funcionan sin cambios en dbt OSS, dbt v2 y la plataforma dbt. Las excepciones están documentadas en la tabla de [paridad entre v1 y v2](#parity) que aparece más abajo.
</Note>

<Note>
  **dbt OSS** es la build open-source (Apache 2.0) del motor v2. Consulta [terminología y availability](#terminology) para ver cómo se relaciona con dbt v2 y la plataforma dbt.
</Note>

El estado actualizado se registra en [ClickHouse/dbt-clickhouse#660](https://github.com/ClickHouse/dbt-clickhouse/issues/660) (paridad de v2 con v1, un sub-issue por área) y en [ClickHouse/dbt-clickhouse#555](https://github.com/ClickHouse/dbt-clickhouse/issues/555) (dbt v2).

<h4 id="request-access">
  Prueba ClickHouse en la plataforma dbt
</h4>

Si te interesa probar la beta privada, regístrate mediante el [formulario de beta privada de dbt Labs](https://docs.google.com/forms/d/e/1FAIpQLScjHwRchnKarq_RpNM7hATjphNFxqBEePmAwRtSpMWG1snGHA/viewform). El formulario pertenece a dbt Labs, por lo que la información que envíes llegará a dbt Labs y no a ClickHouse. Una vez habilitado el acceso, sigue las instrucciones de [Connect ClickHouse](https://docs.getdbt.com/docs/platform/connect-data-platform/connect-clickhouse) en la documentación de dbt para configurar la conexión.

<h2 id="terminology">
  Terminología y disponibilidad
</h2>

dbt está disponible en varias formas, y un mismo adaptador puede ejecutarse en más de una de ellas. Esta tabla explica cada nombre y el nivel actual de soporte de ClickHouse.

| Término | Qué es | Estado en ClickHouse y cómo obtenerlo |
| - | - | - |
| **dbt Core 1.x** | El motor de dbt basado en Python, open source (Apache 2.0). Nuestro adaptador es `dbt-clickhouse`, mantenido en la [organización de ClickHouse en GitHub](https://github.com/ClickHouse/dbt-clickhouse) e instalado junto con `dbt-core`. | **GA, con mantenimiento activo.** Sigue recibiendo releases en paralelo con dbt v2. |
| **dbt OSS** | Reescritura completa del motor de dbt en Rust, open source (Apache 2.0). Esta nueva versión incluye todas las features de la v1 más varias mejoras del rendimiento. | **Beta.** Consulta la [guía de upgrade a dbt v2](https://docs.getdbt.com/docs/dbt-versions/core-upgrade/upgrading-to-v2) y la [página de configuración de ClickHouse para la v2](https://docs.getdbt.com/docs/local/connect-data-platform/clickhouse-setup?version=2) en la documentación de dbt. El adaptador de ClickHouse se distribuye dentro del binary de dbt; no hay que instalar ningún package aparte. |
| **dbt v2** | dbt OSS más features adicionales de dbt Labs: comprensión de SQL, análisis estático, LSP, una extensión de VS Code y reconocimiento de columnas. Código cerrado, licenciado bajo el [dbt Product Licensing Agreement](https://www.getdbt.com/dbt-fusion-engine-license-agreement). | **Beta.** El adaptador funciona con el binary de la v2, pero las nuevas features de SQL todavía no están disponibles para ClickHouse. |
| **plataforma dbt** | dbt alojado, antes dbt Cloud: IDE Studio, jobs programados, entornos, Catalog, Semantic Layer. La plataforma solo ejecuta dbt v2, así que usar ClickHouse en la plataforma implica el adaptador de la v2. | **Private Beta.** Consulta [cómo solicitar acceso](#request-access). Configuración: [Conectar ClickHouse](https://docs.getdbt.com/docs/platform/connect-data-platform/connect-clickhouse) en la documentación de dbt. |

<h2 id="beta-status">
  Estado Beta
</h2>

Evaluamos el adaptador dbt v2 con la suite de pruebas de integración de dbt Core 1.x de `dbt-clickhouse`. Beta significa que los flujos de trabajo principales de dbt y el conjunto de funcionalidades de ClickHouse Cloud funcionan dentro de los límites documentados; la paridad completa con v1 y el soporte de clusters autogestionados llegarán más adelante.

**A día de hoy,** el adaptador supera más del 81% de la suite v1 completa y el 92% de las pruebas aplicables a ClickHouse Cloud. Todas las materializaciones están a la par (`view`, `table`, `incremental`, `materialized_view`, `dictionary`, `snapshot`, `seed`, `ephemeral`), junto con el conjunto completo de configuraciones de tabla, contratos de modelos, pruebas de datos y unitarias, persistencia de la documentación, `clickhouse_s3source()` y los ajustes de conexión de dbt Core 1.x. Los fallos restantes tienen que ver con el trabajo sobre clusters autogestionados que se detalla más abajo y con unas pocas diferencias del lado del motor. Consulta [paridad entre v1 y v2](#parity) para ver el panorama funcionalidad por funcionalidad.

**Próximos pasos**: DDL con `ON CLUSTER` y las materializaciones distribuidas para clusters autogestionados, grants, `dbt clone`, `dbt source freshness` a partir de los metadatos de las tablas, correcciones de los bugs restantes y superación de la suite de pruebas v1 completa para garantizar la paridad total. El progreso de todo ello se sigue en [ClickHouse/dbt-clickhouse#660](https://github.com/ClickHouse/dbt-clickhouse/issues/660), con un sub-issue por área.

GA está en el roadmap y llegará pronto. Actualizaremos la documentación en cuanto esté listo.

<h3 id="out-of-scope">
  Fuera del alcance de la Beta
</h3>

Además de las diferencias de paridad con la v1 que se enumeran a continuación, algunas funcionalidades exclusivas de la v2 quedan fuera del alcance actual, pero llegarán pronto:

* **Semantic Layer / MetricFlow.** Todavía no se ha añadido compatibilidad con ClickHouse. Se hace seguimiento en [dbt-labs/metricflow#2124](https://github.com/dbt-labs/metricflow/pull/2124).
* **Inteligencia de ClickHouse SQL en dbt v2** (validación según el dialecto, análisis estático, LSP, reconocimiento de columnas en la extensión de VS Code). Actualmente, el adaptador funciona con el binary de dbt v2, pero aún no incluye estas funcionalidades. Hasta entonces, el análisis estático se fuerza a `off` en los proyectos de ClickHouse y el motor no escribe linaje a nivel de columna. Se hace seguimiento en [#736](https://github.com/ClickHouse/dbt-clickhouse/issues/736).
* **Métodos de autenticación adicionales** más allá de nombre de usuario y contraseña en la plataforma de dbt.

<h2 id="parity">
  Paridad entre v1 y v2
</h2>

Las tablas siguientes comparan las funcionalidades disponibles en `dbt-clickhouse` (v1) con su estado en el adaptador de dbt v2. Todas las funcionalidades enumeradas son compatibles en v1 salvo que las notas indiquen lo contrario; la columna de estado corresponde a dbt v2 y se aplica igualmente a dbt OSS. La evolución de cada elemento pendiente se registra en [ClickHouse/dbt-clickhouse#660](https://github.com/ClickHouse/dbt-clickhouse/issues/660).

<Badge color="green">compatible</Badge> funciona actualmente · <Badge color="yellow">parcial</Badge> funciona con limitaciones · <Badge color="red">Aún no</Badge> implementación pendiente.

### Materializaciones

| Funcionalidad | Qué hace | dbt v2 | Notas |
| - | - | - | - |
| `view` | Vista estándar de dbt. | <Badge color="green">Compatible</Badge> | |
| `table` | Reconstrucción completa con opciones de motor y DDL. | <Badge color="green">Compatible</Badge> | |
| `incremental` | Añade (append) o fusiona (merge) filas nuevas. | <Badge color="green">Compatible</Badge> | |
| `materialized_view` | Vista materializada de ClickHouse que transforma los datos en el momento de la inserción. | <Badge color="green">Compatible</Badge> | |
| `dictionary` | Diccionario de ClickHouse para búsquedas por clave y joins. | <Badge color="green">Compatible</Badge> | |
| `snapshot` | Dimensiones de cambio lento de tipo 2. | <Badge color="green">Compatible</Badge> | |
| `seed` | Carga archivos CSV como tablas. | <Badge color="green">Compatible</Badge> | Los tipos de columna numéricos se infieren como `Int64`/`Float64` en lugar de `Int32`/`Float32`; utiliza `column_types` para definirlos explícitamente. |
| `ephemeral` | CTE en línea; no se crea ningún objeto. | <Badge color="green">Compatible</Badge> | |
| `distributed_table`, `distributed_incremental` | Tablas segmentadas tras un motor Distributed. | <Badge color="red">Aún no</Badge> | |

### Configuración del modelo

| Característica | Qué hace | dbt v2 | Notas |
| - | - | - | - |
| Motor, `ORDER BY`, `PARTITION BY`, `PRIMARY KEY` | Controles principales del DDL de MergeTree. | <Badge color="green">Compatible</Badge> | |
| TTL | Expiración de filas y columnas. | <Badge color="green">Compatible</Badge> | |
| Ajustes de tabla y de consulta | `SETTINGS` por modelo en el DDL y en el insert. | <Badge color="green">Compatible</Badge> | |
| Proyecciones, índices, `sql_header` | Estructuras secundarias y SQL previo. | <Badge color="green">Compatible</Badge> | |
| Contratos y restricciones del modelo | Tipos de columna y restricciones que se aplican en el momento del build. | <Badge color="green">Compatible</Badge> | |
| Evolución del esquema en modelos incrementales | `on_schema_change` añade o sincroniza columnas. | <Badge color="green">Compatible</Badge> | |
| `codec` y `ttl` de columna | Compresión y expiración por columna. | <Badge color="green">Compatible</Badge> | |

### Pruebas y documentación

| Funcionalidad | Qué hace | dbt v2 | Notas |
| - | - | - | - |
| Pruebas de datos | Pruebas genéricas y singulares. | <Badge color="green">Compatible</Badge> | |
| Unit tests | Lógica de los modelos frente a entradas de fixtures. | <Badge color="green">Compatible</Badge> | |
| Persistencia de la documentación | Descripciones escritas como comentarios de ClickHouse. | <Badge color="yellow">Parcial</Badge> | Las descripciones que contienen `;` fallan. |
| Generación del catálogo y de la documentación | Metadatos de columnas para el sitio de documentación. | <Badge color="green">Compatible</Badge> | |
| Linaje a nivel de columna | Rastrea las columnas a través del DAG. | <Badge color="yellow">Parcial</Badge> | Novedad en v2 mediante el compilador de SQL; no está disponible en v1. El linaje de la plataforma dbt solo se muestra si el entrecomillado de identificadores está desactivado en `dbt_project.yml`; el linaje del lado del motor requiere el dialecto ClickHouse SQL. |

### Cluster y Cloud

| Característica | Qué hace | dbt v2 | Notas |
| - | - | - | - |
| ClickHouse Cloud | Configuración Beta recomendada. | <Badge color="green">Compatible</Badge> | |
| Consistencia entre varias réplicas | `select_sequential_consistency` y configuraciones relacionadas de lectura tras escritura. | <Badge color="green">Compatible</Badge> | |
| `ON CLUSTER` y motores replicados | Propagación de DDL en clusters autogestionados. | <Badge color="red">Aún no</Badge> | Los clusters de varios nodos en ClickHouse Cloud son compatibles. Otras configuraciones que requieren `ON CLUSTER` para propagar DDL todavía no son compatibles. En implementaciones autogestionadas, realice pruebas únicamente en clusters de un solo nodo. |
| `EXCHANGE TABLES` | Intercambio atómico durante la reconstrucción. | <Badge color="green">Compatible</Badge> | |
| Configuraciones de conexión personalizadas | `custom_settings` a nivel de profile. | <Badge color="green">Compatible</Badge> | |
| Versión del servidor ClickHouse | Versión mínima del servidor. | <Badge color="green">Compatible</Badge> | 25.3+ en ambos motores. Para leer columnas `UUID` en v2 se requiere 26.7+ (los servidores anteriores no pueden convertir `UUID` a Arrow). |

### Macros y operaciones

| Funcionalidad | Qué hace | dbt v2 | Notas |
| - | - | - | - |
| Macro de table function de S3 | `clickhouse_s3source()` lee directamente de S3 en un modelo. | <Badge color="green">Compatible</Badge> | |
| Macros entre bases de datos | Funciones auxiliares como las de `dbt-utils`. | <Badge color="green">Compatible</Badge> | |
| Grants | Sentencias `GRANT` definidas en la configuración del modelo. | <Badge color="red">Aún no</Badge> | |
| `dbt clone` | `CLONE AS` zero-copy entre entornos. | <Badge color="red">Aún no</Badge> | |
| Query ID en los resultados de ejecución | `query_id` en `adapter_response` para correlacionar con `system.query_log`. | <Badge color="red">Aún no</Badge> | |
| `query-comment` | Configuración del comentario de la consulta. | <Badge color="red">Aún no</Badge> | Todavía no se respeta `query-comment: null`. |
| Integración con catálogos (Iceberg) | Materializar en catálogos externos. | <Badge color="red">Aún no</Badge> | Tampoco está en v1; existen soluciones alternativas documentadas. |

### Conectividad y autenticación

| Funcionalidad | Qué hace | dbt v2 | Notas |
| - | - | - | - |
| Protocolo | Cómo se comunica dbt con ClickHouse. | <Badge color="green">Compatible</Badge> | ADBC (Arrow sobre HTTP) en v2; HTTP y native en v1. |
| Nombre de usuario y contraseña, TLS | Autenticación estándar. | <Badge color="green">Compatible</Badge> | |
| Certificados de cliente mTLS | `client_cert`, `client_cert_key`, `verify`. | <Badge color="red">Aún no</Badge> | Pendiente en el driver; las keys se aceptan, pero se ignoran. |
| Opciones del client HTTP | `connect_timeout`, `send_receive_timeout`, `sync_request_timeout`, `compress_block_size`, `server_host_name`. | <Badge color="red">Aún no</Badge> | Se aceptan, pero se ignoran; `server_host_name` no está disponible. |
