De basis van Apache Kafka en streamverwerking · Les

Sink-connectors voor export

Verken hoe u sink-connectors gebruikt om gegevens uit Kafka-topics naar databases, datalakes en andere bestemmingen te exporteren.

Les 3 van 411 stappen

Sink-connectors voor export is een gratis De basis van Apache Kafka en streamverwerking-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject De basis van Apache Kafka en streamverwerking. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus De basis van Apache Kafka en streamverwerking bevat in totaal 4 lessen.

Gegevens exporteren uit Kafka

Welkom bij de laatste les over Kafka Connect! We hebben geleerd hoe je gegevens met Source Connectors naar Kafka brengt. Nu bekijken we hoe je gegevens uit Kafka haalt.

In deze les richten we ons op Sink Connectors. Deze zijn essentieel om gegevens uit je Kafka-topics naar externe systemen te verplaatsen, zoals databases, datawarehouses of analyseplatforms.

Waarom Sink Connectors gebruiken?

Stel je voor dat er real-timegegevens naar Kafka stromen, maar dat je business-intelligencehulpmiddelen of oudere applicaties deze gegevens in een ander systeem nodig hebben.

  • Integratie: verbind Kafka met vrijwel elke gegevensopslag.
  • Geen aangepaste code: voorkom dat je complexe consumerapplicaties voor veelgebruikte bestemmingen moet schrijven.
  • Betrouwbaarheid: ingebouwde fouttolerantie en afleveringsgaranties.
  • Schaalbaarheid: schaal het exporteren van gegevens eenvoudig op door meer connectortaken toe te voegen.

Hoe Sink Connectors werken

Een Sink Connector werkt als een gespecialiseerde Kafka-consumer. Dit is de basisworkflow:

  1. De connector draait binnen een Kafka Connect-worker.
  2. De connector abonneert zich op een of meer Kafka-topics.
  3. De connector verbruikt berichten uit deze topics.
  4. De connector transformeert de gegevens (als dit is geconfigureerd) en schrijft ze naar het externe doelsysteem.
  5. De connector beheert Kafka-offsets, zodat gegevens betrouwbaar worden verwerkt.

Veelgebruikte bestemmingen voor sinks

Kafka Connect biedt een uitgebreid ecosysteem van vooraf gebouwde sink-connectors voor allerlei bestemmingen. Populaire voorbeelden zijn:

  • Databases: PostgreSQL, MySQL, Oracle, SQL Server (via JDBC)
  • Cloudopslag: Amazon S3, Google Cloud Storage, Azure Blob Storage
  • Zoekmachines: Elasticsearch, Solr
  • Datawarehouses: Snowflake, Redshift
  • Andere systemen: HDFS, JMS-wachtrijen, HTTP-eindpunten

Basisconfiguratie van een Sink Connector

Het configureren van een sink-connector lijkt op het configureren van source-connectors. Je definieert de eigenschappen ervan in een JSON-bestand of rechtstreeks via de Connect REST API. Belangrijke eigenschappen zijn:

  • name: unieke naam voor je connector.
  • connector.class: de specifieke implementatie van de connector (bijvoorbeeld JdbcSinkConnector).
  • topics of topics.regex: de Kafka-topics waaruit moet worden gelezen.
  • key.converter en value.converter: hoe gegevens uit Kafka moeten worden gedeserialiseerd.

Voorbeeld: FileStreamSinkConnector

Laten we een eenvoudig voorbeeld bekijken: de FileStreamSinkConnector. Deze ingebouwde connector schrijft gegevens uit een Kafka-topic naar een lokaal bestand. Dit is een goed voorbeeld om te zien hoe sink-connectors werken.

Hier is een eenvoudige JSON-configuratie hiervoor:

{ "name": "file-sink-connector",
  "config": {
    "connector.class": "org.apache.kafka.connect.file.FileStreamSinkConnector",
    "tasks.max": "1",
    "topics": "my_test_topic",
    "file": "/tmp/kafka-sink-output.txt",
    "key.converter": "org.apache.kafka.connect.storage.StringConverter",
    "value.converter": "org.apache.kafka.connect.storage.StringConverter"
  }
}

Een Sink Connector implementeren

Zodra je de configuratie van je connector hebt (zoals het bovenstaande file-sink-config.json), implementeer je deze in je Kafka Connect-cluster met een curl-opdracht naar de Connect REST API:

Met deze opdracht geef je het Connect-cluster de opdracht om een nieuw exemplaar van de connector te maken en te starten op basis van je configuratie.

curl -X POST -H "Content-Type: application/json" \
  --data @file-sink-config.json \
  http://localhost:8083/connectors

Gegevensindelingen en converters

Wanneer een sink-connector gegevens uit Kafka leest, gebruikt deze converters om de berichtsleutels en -waarden te deserialiseren. Veelgebruikte converters zijn:

  • StringConverter: voor gegevens met platte tekst.
  • JsonConverter: voor gegevens in JSON-indeling.
  • AvroConverter: voor met Avro geserialiseerde gegevens (vaak in combinatie met Schema Registry).

De connector neemt deze gedeserialiseerde gegevens vervolgens en maakt ze geschikt voor het doelsysteem (bijvoorbeeld SQL INSERT-instructies voor een database-sink).

De integriteit van gegevens waarborgen

Kafka Connect-sink-connectors zijn ontworpen voor betrouwbaarheid:

  • Aflevering ten minste één keer: de meeste sink-connectors garanderen dat elk bericht ten minste één keer op de bestemming wordt afgeleverd, zelfs als er fouten optreden.
  • Offsetbeheer: connectors committen offsets automatisch naar Kafka en houden bij welke gegevens succesvol zijn verwerkt.
  • Foutafhandeling: je kunt connectors configureren om mislukte bewerkingen opnieuw te proberen of problematische berichten naar een Dead Letter Queue (DLQ) te sturen voor latere inspectie.

Uitdaging: Sink Connector

Laten we controleren of je de Kafka Connect Sink Connectors begrijpt!

Samenvatting: Sink Connectors

Goed gedaan! Je beheerst nu de kernconcepten van Kafka Connect Sink Connectors.

  • Sink Connectors exporteren gegevens uit Kafka-topics naar verschillende externe systemen.
  • Ze bieden een betrouwbare, schaalbare en codevrije manier om Kafka met je gegevensecosysteem te integreren.
  • Bij de configuratie geef je de connectorclass, topics en bestemmingsspecifieke eigenschappen op.
  • Ze verzorgen het deserialiseren en formatteren van gegevens en garanderen de aflevering ervan.

Kafka Connect maakt het aanzienlijk eenvoudiger om robuuste gegevenspijplijnen te bouwen!

Gratis beginnen

Leer De basis van Apache Kafka en streamverwerking met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Sink-connectors voor export” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad De basis van Apache Kafka en streamverwerking, waaronder “Sink-connectors voor export”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus De basis van Apache Kafka en streamverwerking bevat in totaal 4 lessen.

Wat leer ik in “Sink-connectors voor export”?

Verken hoe u sink-connectors gebruikt om gegevens uit Kafka-topics naar databases, datalakes en andere bestemmingen te exporteren. Je oefent met De basis van Apache Kafka en streamverwerking door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met De basis van Apache Kafka en streamverwerking te beginnen?

Ervaring vooraf is niet nodig. De basis van Apache Kafka en streamverwerking op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Sink-connectors voor export”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over De basis van Apache Kafka en streamverwerking?

Ja. Elke les over De basis van Apache Kafka en streamverwerking bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Inleiding tot Kafka Connect
  2. Source-connectors voor ingestie
  3. Sink-connectors voor export
  4. Single Message Transforms (SMT's)
← Terug naar De basis van Apache Kafka en streamverwerking