Elasticsearch te permite indexar datos de manera rápida y flexible. Pruébalo gratis en el cloud o ejecútalo localmente para ver lo fácil que puede ser indexar.
Airbyte es una herramienta de integración de datos que permite mover información de diversas fuentes a diferentes destinos de forma automatizada y escalable. Te permite extraer datos de APIs, bases de datos y otros sistemas y cargarlos en plataformas como Elasticsearch, que ofrece búsqueda avanzada y análisis eficiente.
En este artículo, explicaremos cómo configurar Airbyte para que insienta datos en Elasticsearch, cubriendo conceptos clave, requisitos previos y la integración paso a paso.

Conceptos fundamentales de Airbyte
Airbyte tiene varios conceptos esenciales para su uso. A continuación, destacamos los principales:
- Fuentes: Define el origen de los datos que se extraerá.
- Destinos: Define dónde se enviarán y almacenarán los datos.
- Conexiones: Configura la relación entre la fuente y el destino, incluyendo la frecuencia de sincronización.
Integración de Airbyte con Elasticsearch
En esta demostración, realizaremos una integración en la que los datos almacenados en un cubo S3 serán migrados a un índice Elasticsearch. Mostraremos cómo configurar el código fuente (S3) y el destino (Elasticsearch) en Airbyte.
Prerrequisitos
Para seguir a esta demostración, deben cumplir los siguientes requisitos:
- Crea un cubo en AWS, donde se almacenarán los archivos JSON que contienen los datos.
- Instala Airbyte localmente usando Docker.
- Crea un clúster de Elasticsearch en Elastic Cloud para almacenar los datos ingeridos.
A continuación, detallaremos cada uno de estos pasos.
Instalación de Airbyte
Airbyte puede ejecutar localmente usando Docker o en la nube, donde existen costos asociados al uso. Para esta demostración, usaremos la versión local con Docker.
La instalación puede tardar unos minutos. Tras seguir las instrucciones de instalación, Airbyte estará disponible en: http://localhost:8000.

Luego de iniciar sesión, podemos empezar a configurar la integración.
Creación del cubo
En este paso, necesitarás una cuenta de AWS para crear un bucket S3. Además, es esencial establecer las licencias correctas creando una política y un usuario IAM para permitir el acceso al cubo.
En el bucket, subiremos archivos JSON que contengan diferentes registros de log, que luego serán migrados a Elasticsearch. Los registros de archivos contienen este contenido:
A continuación están los archivos cargados en el cubo:

Configuración de la nube elástica
Para facilitar la demostración, usaremos Elastic Cloud. Si aún no tienes cuenta, puedes crear una cuenta de prueba gratis aquí: Elastic Cloud Registration.
Luego de configurar el despliegue en Elastic Cloud, necesitarás obtener:
- La URL del servidor Elasticsearch.
- Un usuario para acceder a Elasticsearch.
Para obtener la URL, ve a Despliegues > Mi despliegue, en la aplicación, busca Elasticsearch y haz clic en 'Copiar el punto final'.

Para crear el usuario, sigue los pasos a continuación:
- Accede a Kibana > Stack Management > usuarios.
- Crea un nuevo usuario con el rol de superusuario.
- Diligencia el espacio para crear al usuario.

Ahora que lo tenemos todo listo, podemos empezar a configurar los conectores en Airbyte.
Configuración del conector fuente
En este paso, crearemos el conector fuente para S3. Para ello, accederemos a la interfaz de Airbyte y seleccionaremos la opción Fuente en el menú. Luego, buscaremos el conector S3. A continuación, detallamos los pasos necesarios para configurar el conector:
- Accede a Airbyte y ve al menú de Fuentes.
- Busca y selecciona el conector S3.
- Configura los siguientes parámetros:
- Nombre de la fuente: Define un nombre para la fuente de datos.
- Método de entrega: Seleccionar Réplica de Registros (recomendado para datos estructurados).
- Formato de datos: Elige formato JSON.
- Nombre del flujo: Define el nombre del índice en Elasticsearch.
- Nombre del cubo: Introduce el nombre del cubo en AWS.
- Clave de acceso de AWS y clave secreta de AWS: Introduce las credenciales de acceso.
Haz clic en Configurar código fuente y espera la validación.

Conector de destino de configuración
En este paso, configuraremos el conector de destino, que será Elasticsearch. Para ello, accederemos al menú y seleccionaremos la opción Destino. Luego, buscaremos Elasticsearch y haremos clic en el resultado que devolvemos. Ahora, procederemos con la configuración de esta conexión:
- Accede a Airbyte y ve al menú de Destinos.
- Busca y selecciona el conector Elasticsearch.
- Configura los siguientes parámetros:
- Método de autenticación: Elige nombre de usuario/contraseña.
- Nombre de usuario y contraseña: Emplea las credenciales creadas en Kibana.
- Endpoint del servidor: Pega la URL copiada de Elastic Cloud.
Haz clic en Configurar destino y espera la validación.

Creación de la conexión de origen y destino
Una vez creada la Fuente y el Destino, se creará la conexión entre ellos, completando así la creación de la integración.
A continuación se muestran las instrucciones para crear la conexión:
1. En el menú, ve a Conexiones y haz clic en Crear Primera Conexión.
2. En la siguiente pantalla, podrás seleccionar una Fuente existente o crear una nueva. Como ya tenemos una Fuente creada, seleccionaremos la Fuente S3.

3. El siguiente paso será seleccionar el destino. Como ya creamos el conector Elasticsearch, se seleccionará para finalizar la configuración.

En el siguiente paso, será necesario definir el Modo de Sincronización y qué esquema se empleará. Como solo se creó el esquema de registro, será la única opción disponible para la selección.

4. Pasaremos al paso Configurar Conexión. Aquí podemos definir el nombre de la conexión y la frecuencia de ejecución de la integración. La frecuencia puede configurar de tres maneras:
- Cron: Ejecuta las sincronizaciones basar en la expresión cron definida por el usuario (por ejemplo, 0 0 15 * * ?, a las 15:00 todos los días);
- Programado: Ejecuta las sincronizaciones en el intervalo de tiempo especificado (por ejemplo, cada 24 horas, cada 2 horas);
- Manual: Ejecuta las sincronizaciones manualmente.
Para esta demostración, seleccionaremos la opción Manual.
Finalmente, al hacer clic en Configurar conexión, se establecerá la conexión entre la Fuente y el Destino.

Sincronización de datos de S3 a Elasticsearch
Cuando vuelves a la pantalla de Conexiones, puedes ver la conexión que se creó. Para ejecutar el proceso, simplemente haz clic en Sincronizar. A partir de ese momento, comenzará la migración de datos de S3 a Elasticsearch.

Si todo va bien, obtendrás el estado sincronizado.

Visualización de datos en Kibana
Ahora, iremos a Kibana para analizar los datos y comprobar si están indexados correctamente. En la sección Kibana Discovery crearemos una Vista de Datos llamada logs. Con esto, podremos explorar los datos que solo existen en el índice de registros, que se creó tras la sincronización.

Ahora podemos visualizar los datos indexados y realizar análisis sobre ellos. De este modo, validamos todo el flujo de migración usando Airbyte, donde cargamos los datos presentes en el bucket e los indexamos en Elasticsearch.

Conclusión: Integración de Airbyte y Elasticsearch
Airbyte demostró ser una herramienta eficiente para la integración de datos, permitiéndonos conectar varias fuentes y destinos de forma automatizada. En este tutorial, demostramos cómo ingirir datos de un cubo S3 a un índice de Elasticsearch, destacando los pasos principales del proceso.
Este enfoque facilita la ingestión de grandes volúmenes de datos y permite análisis dentro de Elasticsearch, como búsquedas complejas, agregaciones y visualizaciones de datos.
Referencias
Inicio rápido de Airbyte:
https://docs.airbyte.com/using-airbyte/getting-started/oss-quickstart#part-1-install-abctl
Conceptos básicos:
Preguntas frecuentes
¿Qué es Airbyte?
Airbyte es una herramienta de integración de datos que permite mover información de diversas fuentes a diferentes destinos de forma automatizada y escalable.




