Componentes de back-end después de compartir componentes: transportador de paquetes de componentes ETL

Componentes de back-end después de compartir componentes: transportador de paquetes de componentes ETL

fondo

Recientemente, estamos explorando varios componentes y herramientas comunes en el front-end, back-end y del lado del sistema, y ​​reorganizamos algunos de los componentes comunes para formar un tema de componente estandarizado, que luego incluirá algunos componentes de uso común en varios idiomas. . Bienvenidos todos a seguir prestando atención.

Información básica del componente

contenido

En esta sección, compartimos un transportador de paquetes de componentes ETL , que oficialmente solo admite adaptadores mongodb y postgresql. El soporte para otras bases de datos se agregará más adelante. Otros adaptadores pueden o no funcionar. Le animamos a seguir usando v0.5.2 para migraciones que no sean mongo/postgres.

Transporter permite a los usuarios configurar muchos adaptadores de datos como fuentes o sumideros. Estos pueden ser bases de datos, archivos u otros recursos. Los datos se leen de una fuente, se convierten a un formato de mensaje y se envían a un receptor, donde el mensaje se convierte a un formato de escritura para su destino. Los usuarios también pueden crear transformaciones de datos en JavaScript que pueden ubicarse entre fuentes y receptores y manipular o filtrar flujos de mensajes.

Los adaptadores pueden realizar un seguimiento de los cambios que se producen en los datos de origen. Esta función de "cola" permite que el avión de transporte siga funcionando y mantenga los receptores sincronizados.

La última versión binaria está disponible en el repositorio de Github

Utilice el siguiente formato:

transporter init [source adaptor name] [sink adaptor name]

Los casos de uso específicos son los siguientes:

$ transporter init mongodb elasticsearch
$ cat pipeline.js
var source = mongodb({
  "uri": "${MONGODB_URI}"
  // "timeout": "30s",
  // "tail": false,
  // "ssl": false,
  // "cacerts": ["/path/to/cert.pem"],
  // "wc": 1,
  // "fsync": false,
  // "bulk": false,
  // "collection_filters": "{}",
  // "read_preference": "Primary"
})

var sink = elasticsearch({
  "uri": "${ELASTICSEARCH_URI}"
  // "timeout": "10s", // defaults to 30s
  // "aws_access_key": "ABCDEF", // used for signing requests to AWS Elasticsearch service
  // "aws_access_secret": "ABCDEF" // used for signing requests to AWS Elasticsearch service
})

t.Source(source).Save(sink)
// t.Source("source", source).Save("sink", sink)
// t.Source("source", source, "namespace").Save("sink", sink, "namespace")
$

Cada adaptador tiene su propia página LÉAME con detalles sobre la configuración y la funcionalidad

Para obtener más métodos de uso, consulte el LÉAME

Este artículo declara:

88x31.png

Licencia Creative Commons
Este trabajo está autorizado por CN Hua Shao bajo la licencia internacional Creative Commons Attribution-Noncommercial 4.0.

Supongo que te gusta

Origin blog.csdn.net/csde12/article/details/125597283
Recomendado
Clasificación