Creación de un grupo de procesos NiFi personalizado

Los grupos de procesos NiFi y sus conexiones son los bloques de construcción del canal de flujo de datos que realizan tareas de introducción y transformación de datos para preparar los datos para el índice de búsqueda. Crear su propio grupo de procesos personalizado le permite realizar tareas de recepción y transformación de datos de acuerdo con requisitos empresariales específicos. Estas son las cuatro plantillas predeterminadas que le ayudarán a empezar a crear un grupo de procesos específico de acuerdo con su lógica empresarial.

Puede crear un canal personalizado de cualquiera de las siguientes maneras:
  • Utilice el contenedor de Ingest para crear un nuevo conector importando una plantilla de conector. Para más detalles, consulte el tutorial sobre el margen de beneficios.
  • Importe las plantillas de los grupos de procesos individuales y conéctelas para crear un canal personalizado.
Las siguientes cuatro plantillas de grupos de procesos se envían con el Registro NiFi por defecto. Para importar cualquiera de estas plantillas de forma individual se utiliza la interfaz de usuario de NIFI (utilice este enlace para la interfaz de usuario de NiFi: http://<hostname/IP>:30600/nifi/) y, a continuación, importe las plantillas de grupo de procesos directamente desde el registro NiFi. Para obtener más información sobre cómo importar estas plantillas predeterminadas del registro Nifi, consulte Documentación del registro NiFi

A continuación se muestra la descripción detallada junto con los nombres de estas plantillas de grupo de procesos predeterminadas.

Actualización del esquema

Nombre de la plantilla en el Registro Nifi : _Template-Schema

El esquema de Elasticsearch define cómo se almacenan sus datos en Elasticsearch. Esta plantilla de grupo de procesos NiFi proporciona los procesos necesarios para modificar las definiciones de esquema de Elasticsearch existentes. Todos los procesos se agrupan en un grupo de procesos para una mejor organización.

Después de importar esta plantilla, deberá trabajar en los procesos necesarios para extraer e introducir los datos en Elasticsearch. Esta plantilla no proporciona procesos para extraer e introducir datos en Elasticsearch. Solo proporciona el proceso para modificar la estructura de datos en base a la cual Elasticsearch organiza y utiliza los datos. Las plantillas Java proporcionan la plantilla para respaldar el proceso completo.

Java ETL (base de datos)

Nombre de plantilla en el registro Nifi: _Template-DatabaseETL

Al igual que la plantilla Groovy, la plantilla Java también proporciona los procesos necesarios para extraer, transformar y crear los datos para el índice de Elasticsearch. La plantilla proporciona el grupo de procesos que abarca los procesadores que ejecutan la lógica de transformación de datos. En este caso, la extracción se realiza a través de un proceso escrito a medida que se crea utilizando Java en un editor de Java de su elección. Este procesador Java personalizado debe implementarse como un archivo NAR para ser utilizado en NiFi. Consulte Creación e implementación de un archivo NAR personalizado. El procesador Java personalizado consume un mensaje de flujo de NiFi y transforma los datos para crear la parte del documento (_doc) necesaria para rellenar el índice de Elasticsearch.

HCL Commerce Version 9.1.11.0 or laterPara utilizar el nuevo procesador de correlaciones simple, consulte Configuración del conector/de la canalización en NiFi.

La plantilla Groovy utiliza el procesador NIFI Apache por defecto (ScriptExecutor) con código groovy para la transformación de datos, mientras que la plantilla Java utiliza el procesador personalizado escrito en Java y implementado en NIFI para la transformación de datos.

Esta plantilla consta del conducto de conectores personalizado para llevar a cabo el proceso ETL (extracción, transformación y carga) desde el HCL Commerce a un índice Elasticsearch. Tiene los siguientes componentes previamente creados:
  • Ejecutar grupo de procesos SQL: Este grupo de procesos contiene el SQL utilizado para extraer datos de la base de datos HCL Commerce. Este grupo de procesos no admite la paginación de la base de datos, así que utilícelo con un conjunto de datos de muestra.
  • Procesador de conducto de conectores personalizado: Este procesador contiene la lógica de transformación escrita en Java.
  • Grupo de procesos remotos del flujo de NiFi: Este grupo de procesos dirige el documento listo para ser indexado a otro servicio masivo para su indexación en Elasticsearch.
  • Ruta en el grupo de procesos del catálogo maestro: Este grupo de procesos se utiliza para permitir que el único flujo de datos pase por el catálogo maestro. También puede trabajar con WaitLink para bloquear.
Este conducto puede reutilizarse para los tres siguientes flujos de datos admitidos:
  • Reindexación completa
  • Actualización en tiempo casi real (NRT)
  • Carga de datos

Java ETL (paginación de base de datos)

Nombre de plantilla en el registro Nifi: _Template-DatabasePagingETL

Al igual que la plantilla Java, esta plantilla también proporciona los procesos necesarios para extraer, transformar y crear los datos para el índice de Elasticsearch. La plantilla proporciona el grupo de procesos que abarca los procesadores que ejecutan la lógica de transformación de datos. En este caso, además, la extracción se realiza a través de un proceso escrito a medida que se crea utilizando Java en un editor de Java de su elección. Este procesador Java personalizado debe implementarse como un archivo NAR para ser utilizado en NIFI. Consulte Creación e implementación de un archivo NAR personalizado. El procesador Java personalizado consume un mensaje de flujo de NiFi y transforma los datos para crear la parte del documento (_doc) necesaria para rellenar el índice de Elasticsearch.

HCL Commerce Version 9.1.11.0 or laterPara utilizar el nuevo procesador de correlaciones simple, consulte Configuración del conector/de la canalización en NiFi.

Además, esta plantilla consta de un proceso SQL para devolver un gran conjunto de resultados y un proceso de paginación para la lógica NiFi.

Esta plantilla consta del conducto de conectores personalizado para llevar a cabo el proceso ETL (extracción, transformación y carga) desde el HCL Commerce a un índice Elasticsearch. Tiene los siguientes componentes previamente creados:
  • Grupo de procesos SCROLL SQL: Este grupo de procesos contiene el SQL utilizado para extraer datos de la base de datos HCL Commerce. Es compatible con la paginación de la base de datos, por lo que se puede utilizar para un gran conjunto de datos.
  • Procesador de conducto de conectores personalizado: Este procesador contiene la lógica de transformación escrita en Java.
  • Grupo de procesos remotos del flujo de NiFi: Este grupo de procesos dirige el documento listo para ser indexado a otro servicio masivo para su indexación en Elasticsearch.
  • Ruta en el grupo de procesos del catálogo maestro: Este grupo de procesos se utiliza para permitir que el único flujo de datos pase por el catálogo maestro. También puede trabajar con WaitLink para bloquear.
Este conducto puede reutilizarse para los tres siguientes flujos de datos admitidos:
  • Reindexación completa
  • Actualización en tiempo casi real (NRT)
  • Carga de datos
Deprecated feature

Groovy ETL (base de datos)

Nombre de plantilla en el registro Nifi: _Template-Groovy-DatabaseETL

Puede utilizar Groovy para crear prototipos, pero no se recomienda su uso para entornos de producción.

La plantilla Groovy proporciona los procesos necesarios para extraer, transformar y crear los datos para el índice de Elasticsearch. La plantilla proporciona el grupo de procesos que abarca los procesadores que ejecutan la lógica de transformación de datos. La extracción se realiza a través del proceso predeterminado de NIFI Apache (ExecuteSQLRecord), luego los datos se transforman para crear la parte del documento (_doc) necesaria para poblar el índice de Elasticsearch. La transformación de los datos se realiza a través de un procesador NiFi Apache en código (ScriptExecutor) que ofrece la posibilidad de tener código incrustado en la plantilla.
Important: Al utilizar esta plantilla aparece un error en el momento de iniciar el servidor. Este error desaparece en un momento, ya que NiFi se recupera en unos minutos y vuelve a funcionar. Este error no vuelve a aparecer hasta la próxima vez que se reinicie el contenedor NiFi.
Esta plantilla consta del conducto de conectores personalizado para llevar a cabo el proceso ETL (extracción, transformación y carga) desde el HCL Commerce a un índice Elasticsearch. Tiene los siguientes componentes previamente creados:
  • Ejecutar grupo de procesos SQL: Este grupo de procesos contiene el SQL utilizado para extraer datos de la base de datos HCL Commerce.
  • Procesador de conducto de conectores personalizado: Este procesador contiene la lógica de transformación escrita en Groovy.
  • Grupo de procesos remotos del flujo de NiFi: Este grupo de procesos dirige el documento listo para ser indexado a otro servicio masivo para su indexación en Elasticsearch.
Este conducto puede reutilizarse para los tres siguientes flujos de datos admitidos:
  • Reindexación completa
  • Actualización en tiempo casi real (NRT)
  • Carga de datos