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 start3
Descargar el controlador JDBC de ClickHouse
- Ve a la página de versiones del controlador JDBC de ClickHouse en GitHub y busca la versión más reciente
- 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 - 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
- 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”
-
Seleccione la pestaña Controller Services y agregue un nuevo servicio de controlador haciendo clic en el botón
+de la esquina superior derecha -
Busque
DBCPConnectionPooly haga clic en el botón “Add” -
El
DBCPConnectionPoolrecién agregado estará en estado no válido de forma predeterminada. Haga clic en el botón de “engranaje” para comenzar a configurarlo - En la sección “Properties”, introduzca los siguientes valores
- En la sección Settings, cambie el nombre del servicio de controlador a “ClickHouse JDBC” para poder identificarlo fácilmente
-
Active el servicio de controlador
DBCPConnectionPoolhaciendo clic en el botón de “rayo” y luego en el botón “Enable”
- 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
-
Añade un procesador
ExecuteSQL, junto con los procesadores upstream y downstream correspondientes -
En la sección “Properties” del procesador
ExecuteSQL, introduce los siguientes valores -
Inicia el procesador
ExecuteSQL -
Para confirmar que la consulta se ha procesado correctamente, inspecciona uno de los
FlowFilede la cola de salida -
Cambia a la vista “formatted” para ver el resultado del
FlowFilede salida
6
Escribir en una tabla con el procesador MergeRecord y PutDatabaseRecord
-
Para escribir varias filas en una sola inserción, primero debemos fusionar varios registros en uno solo. Esto puede hacerse con el procesador
MergeRecord -
En la sección “Properties” del procesador
MergeRecord, introduzca los siguientes valores -
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 -
En la sección “Properties” del procesador
PutDatabaseRecord, introduzca los siguientes valores -
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. - Enhorabuena: ha cargado correctamente sus datos en ClickHouse con Apache NiFi!