Saltar al contenido principal
Apache NiFi es un software de gestión de flujos de trabajo de código abierto diseñado para automatizar el flujo de datos entre sistemas de software. Permite crear pipelines de datos ETL e incluye más de 300 procesadores de datos. Este tutorial paso a paso muestra cómo conectar Apache NiFi a ClickHouse tanto como origen como destino, y cómo cargar un conjunto de datos de ejemplo.
1

Recopila los datos de conexión

Para conectarse a ClickHouse con HTTP(S), necesita esta información: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:Elija HTTPS. Los detalles de conexión se muestran en un comando curl de ejemplo.Si usa ClickHouse autogestionado, los detalles de conexión los establece su administrador de ClickHouse.
2

Descargar y ejecutar Apache NiFi

Para una instalación nueva, descargue el binario desde https://nifi.apache.org/download.html y ejecútelo con ./bin/nifi.sh start
3

Descargar el controlador JDBC de ClickHouse

  1. Ve a la página de versiones del controlador JDBC de ClickHouse en GitHub y busca la versión más reciente
  2. En esa versión, haz clic en “Show all xx assets” y busca el archivo JAR que contenga la palabra clave “shaded” o “all”, por ejemplo, clickhouse-jdbc-0.5.0-all.jar
  3. Coloca el archivo JAR en una carpeta a la que Apache NiFi pueda acceder y toma nota de la ruta absoluta
4

Agregue el servicio de controlador DBCPConnectionPool y configure sus propiedades

  1. Para configurar un servicio de controlador en Apache NiFi, vaya a la página de configuración del flujo de NiFi haciendo clic en el botón de “engranaje”
  2. Seleccione la pestaña Controller Services y agregue un nuevo servicio de controlador haciendo clic en el botón + de la esquina superior derecha
  3. Busque DBCPConnectionPool y haga clic en el botón “Add”
  4. El DBCPConnectionPool recién agregado estará en estado no válido de forma predeterminada. Haga clic en el botón de “engranaje” para comenzar a configurarlo
  5. En la sección “Properties”, introduzca los siguientes valores
  1. En la sección Settings, cambie el nombre del servicio de controlador a “ClickHouse JDBC” para poder identificarlo fácilmente
  2. Active el servicio de controlador DBCPConnectionPool haciendo clic en el botón de “rayo” y luego en el botón “Enable”
  3. Revise la pestaña Controller Services y asegúrese de que el servicio de controlador esté habilitado
5

Leer datos de una tabla con el procesador ExecuteSQL

  1. Añade un procesador ​ExecuteSQL, junto con los procesadores upstream y downstream correspondientes
  2. En la sección “Properties” del procesador ​ExecuteSQL, introduce los siguientes valores
  3. Inicia el procesador ​​ExecuteSQL
  4. Para confirmar que la consulta se ha procesado correctamente, inspecciona uno de los FlowFile de la cola de salida
  5. Cambia a la vista “formatted” para ver el resultado del FlowFile de salida
6

Escribir en una tabla con el procesador MergeRecord y PutDatabaseRecord

  1. Para escribir varias filas en una sola inserción, primero debemos fusionar varios registros en uno solo. Esto puede hacerse con el procesador MergeRecord
  2. En la sección “Properties” del procesador MergeRecord, introduzca los siguientes valores
  3. Para confirmar que varios registros se fusionan en uno, examine la entrada y la salida del procesador MergeRecord. Tenga en cuenta que la salida es un array con varios registros de entrada Entrada Salida
  4. En la sección “Properties” del procesador PutDatabaseRecord, introduzca los siguientes valores
  5. Para confirmar que cada inserción contiene varias filas, compruebe que el conteo de filas de la tabla aumenta al menos en el valor de “Minimum Number of Records” definido en MergeRecord.
  6. Enhorabuena: ha cargado correctamente sus datos en ClickHouse con Apache NiFi!
Última modificación el 19 de junio de 2026