Littlewing : Utilisation de la plateforme CONFLUENT pour faire du CDC
vendredi 23 décembre 2016 à 16:24Après une pause dans mon exploration de KAFKA et KAFKA CONNECT, je me suis remis à faire du CDC.
Cette fois j’ai décidé d’utiliser les possibilités natives de la plateforme CONFLUENT. A savoir le proxy REST et les plugins JDBC et ELASTICSEARCH.
J’ai donc mis en quelques coups de cuillères à pot :
- Une extraction de données incrémentale à partir d’une base de données
- Un chargement dans Elasticsearch
Création des connecteurs
Création du connecteur d’extraction
La plateforme CONFLUENT offre un ensemble d’APIS qui permettent la configuration des connecteurs.
Ex. :
Lecture d’un état de connecteur
curl -XGET http://127.0.0.1:8083/connectors?utm_source=rss&utm_medium=rss
Voila comment j’ai chargé la configuration :
J’ai d’abord crée un fichier JSON
{
"name": "jdbc-sql",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"tasks.max": 2,
"connection.url": "jdbc:oracle:thin:URL",
"mode": "incremental",
"timestamp.column.name": "JOBSTART",
"query":"select * from LOG",
"topic.prefix": "jdbc-avro-jdbc",
"table.types" : "VIEW"
}
}
puis je l’ai chargé via l’API en utilisant une requête POST
Création du connecteur déversant dans Elasticsearch
Même principe avec ce fichier JSON
{
"name": "jdbc-elk-sink",
"config": {
"connector.class": "io.confluent.connect.elasticsearch.ElasticsearchSinkConnector",
"tasks.max": 2,
"connection.url": "http://host:9200",?utm_source=rss&utm_medium=rss
"type.name": "monitor",
"topics": "jdbc-avro-jdbc",
"topic.key.ignore": "jdbc-avro-jdbc",
"topic.index.map":"jdbc-avro-jdbc:monitor",
"key.ignore": "true"
}
}
Avec cette configuration j’ai maintenant un cluster ELASTICSEARCH qui récupère au fil de l’eau mes données provenant de la base de données.
Original post of Littlewing.Votez pour ce billet sur Planet Libre.
Articles similaires
- Littlewing : Mettre en place KAFKA CONNECT et KAFKA pour faire du change data capture (CDC) (30/08/2016)
- Littlewing : Créer un connecteur KAFKA CONNECT (09/09/2016)
- Littlewing : Insérer des données issues d’un fichier CSV dans ELASTICSEARCH (21/01/2015)
- Littlewing : Mettre en oeuvre rapidement l’ autocomplétion avec Elasticsearch (04/02/2015)
- Littlewing : Intégrer la base adresse nationale dans Elasticsearch (20/05/2015)