Grunnleggende Apache Kafka og strømming · leksjon

Målkoblinger for eksport

Utforsk hvordan du bruker målkoblinger til å eksportere data fra Kafka-emner til databaser, datasjøer og andre mål.

Leksjon 3 av 411 trinn

Målkoblinger for eksport er en gratis leksjon i Grunnleggende Apache Kafka og strømming på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Grunnleggende Apache Kafka og strømming, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Grunnleggende Apache Kafka og strømming inneholder totalt 4 leksjoner.

Eksportere data fra Kafka

Velkommen til den siste leksjonen om Kafka Connect! Vi har lært hvordan vi henter data inn i Kafka ved hjelp av kildekoblinger. Nå skal vi se på hvordan vi får data ut.

Denne leksjonen fokuserer på sink-koblinger, som er avgjørende for å flytte data fra Kafka-emnene til eksterne systemer som databaser, datavarehus eller analyseplattformer.

Hvorfor bruke sink-koblinger?

Se for Dem at De har sanntidsdata som strømmes inn i Kafka, men at verktøyene for forretningsanalyse eller eldre applikasjoner trenger disse dataene i et annet system.

  • Integrasjon: Koble Kafka til nesten alle typer datalagre.
  • Ingen egen kode: Unngå å skrive komplekse konsumentapplikasjoner for vanlige målsystemer.
  • Pålitelighet: Innebygd feiltoleranse og leveringsgarantier.
  • Skalerbarhet: Skaler enkelt dataeksporten ved å legge til flere koblingsoppgaver.

Slik fungerer sink-koblinger

En sink-kobling fungerer som en spesialisert Kafka-konsument. Her er den grunnleggende arbeidsflyten:

  1. Koblingen kjører i en Kafka Connect-arbeider.
  2. Den abonnerer på ett eller flere Kafka-emner.
  3. Den konsumerer meldinger fra disse emnene.
  4. Den transformerer dataene, hvis dette er konfigurert, og skriver dem til det eksterne målsystemet.
  5. Den administrerer Kafka-offseter og sørger for at dataene behandles pålitelig.

Vanlige målsystemer for sink-koblinger

Kafka Connect tilbyr et rikt økosystem av ferdigbygde sink-koblinger for et bredt utvalg av målsystemer. Noen populære eksempler er:

  • Databaser: PostgreSQL, MySQL, Oracle, SQL Server (via JDBC)
  • Skylagring: Amazon S3, Google Cloud Storage, Azure Blob Storage
  • Søkemotorer: Elasticsearch, Solr
  • Datavarehus: Snowflake, Redshift
  • Andre systemer: HDFS, JMS-køer, HTTP-endepunkter

Grunnleggende konfigurasjon av en sink-kobling

Konfigurering av en sink-kobling ligner på konfigurering av kildekoblinger. De definerer egenskapene i en JSON-fil eller direkte via Connect REST-API-et. Viktige egenskaper omfatter:

  • name: Unikt navn på koblingen.
  • connector.class: Den konkrete implementasjonen av koblingen (for eksempel JdbcSinkConnector).
  • topics eller topics.regex: Kafka-emnene det skal leses fra.
  • key.converter & value.converter: Hvordan data fra Kafka skal deserialiseres.

Eksempel: FileStreamSinkConnector

La oss se på et enkelt eksempel: FileStreamSinkConnector. Denne innebygde koblingen skriver data fra et Kafka-emne til en lokal fil. Den er nyttig for å se hvordan sink-koblinger fungerer.

Her er en grunnleggende JSON-konfigurasjon for den:

{ "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"
  }
}

Distribuere en sink-kobling

Når De har konfigurasjonen for koblingen (som file-sink-config.json ovenfor), distribuerer De den til Kafka Connect-klyngen ved hjelp av en curl-kommando mot Connect REST-API-et:

Denne kommandoen ber Connect-klyngen opprette og starte en ny koblingsinstans basert på konfigurasjonen.

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

Dataformater og konverterere

Når en sink-kobling leser data fra Kafka, bruker den konverterere til å deserialisere meldingsnøkler og -verdier. Vanlige konverterere omfatter:

  • StringConverter: For data i ren tekst.
  • JsonConverter: For data formatert som JSON.
  • AvroConverter: For Avro-serialiserte data (ofte sammen med Schema Registry).

Koblingen tar deretter de deserialiserte dataene og formaterer dem på riktig måte for målsystemet (for eksempel SQL INSERT-setninger for en databasesink).

Sikre dataintegritet

Sink-koblinger i Kafka Connect er utviklet for å være pålitelige:

  • Levering minst én gang: De fleste sink-koblinger garanterer at hver melding leveres til målet minst én gang, selv om det oppstår feil.
  • Offset-administrasjon: Koblingene lagrer automatisk offseter i Kafka og holder oversikt over hvilke data som er behandlet.
  • Feilhåndtering: Koblinger kan konfigureres til å prøve mislykkede operasjoner på nytt eller sende problematiske meldinger til en Dead Letter Queue (DLQ) for senere undersøkelse.

Utfordring: Sink-koblinger

La oss teste forståelsen Deres av Kafka Connect-sink-koblinger!

Oppsummering: Sink-koblinger

Godt jobbet! Nå har De fått tak på de grunnleggende konseptene i Kafka Connect-sink-koblinger.

  • Sink-koblinger eksporterer data fra Kafka-emner til ulike eksterne systemer.
  • De tilbyr en pålitelig, skalerbar og kodefri måte å integrere Kafka med dataøkosystemet på.
  • Konfigurasjonen innebærer å angi koblingsklassen, emnene og egenskaper som er spesifikke for målsystemet.
  • De håndterer deserialisering og formatering av data, og sørger for leveringsgarantier.

Kafka Connect gjør det betydelig enklere å bygge robuste datapipelines!

Gratis å komme i gang

Lær deg Grunnleggende Apache Kafka og strømming med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Målkoblinger for eksport» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Grunnleggende Apache Kafka og strømming, inkludert «Målkoblinger for eksport», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Grunnleggende Apache Kafka og strømming inneholder totalt 4 leksjoner.

Hva lærer jeg i «Målkoblinger for eksport»?

Utforsk hvordan du bruker målkoblinger til å eksportere data fra Kafka-emner til databaser, datasjøer og andre mål. Du øver på Grunnleggende Apache Kafka og strømming med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Grunnleggende Apache Kafka og strømming?

Ingen tidligere erfaring er nødvendig. Grunnleggende Apache Kafka og strømming på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Målkoblinger for eksport»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Grunnleggende Apache Kafka og strømming-leksjonen?

Ja. Alle Grunnleggende Apache Kafka og strømming-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til Kafka Connect
  2. Kildekoblinger for inntak
  3. Målkoblinger for eksport
  4. Single Message Transforms (SMTs)
← Tilbake til Grunnleggende Apache Kafka og strømming