> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Uso de ClickHouse Connector Sink con Kafka Connect y ClickHouse

# Integración de Confluent Platform con ClickHouse

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

<div class="vimeo-container">
  <Frame>
    <iframe
      src="//www.youtube.com/embed/SQAiPVbd3gg"
      frameborder="0"
      allow="autoplay;
fullscreen;
picture-in-picture"
      allowfullscreen
    />
  </Frame>
</div>

<div id="prerequisites">
  ## Requisitos previos
</div>

Suponemos que estás familiarizado con:

* [ClickHouse Connector Sink](/docs/es/integrations/connectors/data-ingestion/kafka/kafka-clickhouse-connect-sink)
* Confluent Platform y [Custom Connectors](https://docs.confluent.io/cloud/current/connectors/bring-your-connector/overview.html).

<div id="the-official-kafka-connector-from-clickhouse-with-confluent-platform">
  ## El conector oficial de Kafka de ClickHouse para Confluent Platform
</div>

<div id="installing-on-confluent-platform">
  ### Instalación en Confluent Platform
</div>

Esta guía rápida te ayudará a empezar a usar el ClickHouse Sink Connector en Confluent Platform.
Para obtener más detalles, consulta la [documentación oficial de Confluent](https://docs.confluent.io/cloud/current/connectors/bring-your-connector/custom-connector-qs.html#uploading-and-launching-the-connector).

<div id="create-a-topic">
  #### Crear un topic
</div>

Crear un topic en Confluent Platform es bastante sencillo, y puedes consultar instrucciones detalladas [aquí](https://docs.confluent.io/cloud/current/client-apps/topics/manage.html).

<div id="important-notes">
  #### Notas importantes
</div>

* El nombre del topic de Kafka debe ser el mismo que el nombre de la tabla de ClickHouse. Esto puede ajustarse mediante un transformador (por ejemplo, [`ExtractTopic`](https://docs.confluent.io/platform/current/connect/transforms/extracttopic.html)).
* Tener más particiones no siempre implica un mayor rendimiento; consulta nuestra próxima guía para obtener más detalles y consejos de optimización.

<div id="install-connector">
  #### Instalar el conector
</div>

Puede descargar el conector desde nuestro [repositorio](https://github.com/ClickHouse/clickhouse-kafka-connect/releases). No dude en enviarnos allí también sus comentarios e incidencias.

Vaya a "Connector Plugins" -> "Add plugin" y utilice la siguiente configuración:

```text theme={null}
'Connector Class' - 'com.clickhouse.kafka.connect.ClickHouseSinkConnector'
'Connector type' - Sink
'Sensitive properties' - 'password'. This will ensure entries of the ClickHouse password are masked during configuration.
```

Ejemplo:

<Image img="https://mintcdn.com/private-7c7dfe99/pIetLsS_hOGHqoPJ/images/integrations/data-ingestion/kafka/confluent/AddCustomConnectorPlugin.webp?fit=max&auto=format&n=pIetLsS_hOGHqoPJ&q=85&s=5fdb90da6ed384d7e4560bce54acf8ee" size="md" alt="UI de Confluent Platform con la configuración para agregar un conector personalizado de ClickHouse" border width="552" height="850" data-path="images/integrations/data-ingestion/kafka/confluent/AddCustomConnectorPlugin.webp" />

<div id="gather-your-connection-details">
  #### Reúne los datos de conexión
</div>

Para conectarse a ClickHouse con HTTP(S), necesita esta información:

| Parámetro(s)              | Descripción                                                                                                                       |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `HOST` and `PORT`         | Normalmente, el puerto es 8443 cuando se usa TLS o 8123 cuando no se usa TLS.                                                     |
| `DATABASE NAME`           | De forma predeterminada, existe una base de datos llamada `default`; use el nombre de la base de datos a la que desea conectarse. |
| `USERNAME` and `PASSWORD` | De forma predeterminada, el nombre de usuario es `default`. Use el nombre de usuario adecuado para su caso de uso.                |

Los detalles de su servicio de ClickHouse Cloud están disponibles en la consola de ClickHouse Cloud.
Seleccione un servicio y haga clic en **Connect**:

<div className="ch-image-md">
  <Frame>
    <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/cloud-connect-button.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=ec0a298a33ca841e947fa5e8bae47362" alt="Botón Connect del servicio de ClickHouse Cloud" width="998" height="932" data-path="images/_snippets/cloud-connect-button.webp" />
  </Frame>
</div>

Elija **HTTPS**. Los detalles de conexión se muestran en un comando `curl` de ejemplo.

<div className="ch-image-md">
  <Frame>
    <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/connection-details-https.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=cb0fbd98aa2b5b7ca484c9f53395ee07" alt="Detalles de conexión HTTPS de ClickHouse Cloud" width="1320" height="1184" data-path="images/_snippets/connection-details-https.webp" />
  </Frame>
</div>

Si usa ClickHouse autogestionado, los detalles de conexión los establece su administrador de ClickHouse.

<div id="configure-the-connector">
  #### Configurar el conector
</div>

Ve a `Connectors` -> `Add Connector` y usa la siguiente configuración (ten en cuenta que los valores son solo de ejemplo):

```json theme={null}
{
  "database": "<DATABASE_NAME>",
  "errors.retry.timeout": "30",
  "exactlyOnce": "false",
  "schemas.enable": "false",
  "hostname": "<CLICKHOUSE_HOSTNAME>",
  "password": "<SAMPLE_PASSWORD>",
  "port": "8443",
  "ssl": "true",
  "topics": "<TOPIC_NAME>",
  "username": "<SAMPLE_USERNAME>",
  "key.converter": "org.apache.kafka.connect.storage.StringConverter",
  "value.converter": "org.apache.kafka.connect.json.JsonConverter",
  "value.converter.schemas.enable": "false"
}
```

<div id="specify-the-connection-endpoints">
  #### Especifique los endpoints de conexión
</div>

Debe especificar la lista de endpoints permitidos a los que el conector puede acceder.
Debe usar un nombre de dominio completo (FQDN) al añadir los endpoints de salida de red.
Ejemplo: `u57swl97we.eu-west-1.aws.clickhouse.com:8443`

<Note>
  Debe especificar un puerto HTTP(S). El conector aún no admite el protocolo nativo.
</Note>

[Lea la documentación.](https://docs.confluent.io/cloud/current/connectors/bring-your-connector/custom-connector-qs.html#cc-byoc-endpoints)

¡Ya debería tenerlo todo listo!

<div id="known-limitations">
  #### Limitaciones conocidas
</div>

* Los Custom Connectors deben usar endpoints públicos en Internet. No se admiten direcciones IP estáticas.
* Puede anular algunas propiedades de Custom Connector. Consulte la [lista en la documentación oficial.](https://docs.confluent.io/cloud/current/connectors/bring-your-connector/custom-connector-manage.html#override-configuration-properties)
* Los Custom Connectors están disponibles solo en [algunas regiones de AWS](https://docs.confluent.io/cloud/current/connectors/bring-your-connector/custom-connector-fands.html#supported-aws-regions)
* Consulte la lista de [limitaciones de Custom Connectors en la documentación oficial](https://docs.confluent.io/cloud/current/connectors/bring-your-connector/custom-connector-fands.html#limitations)
