Kafka Connect на собеседовании Data Engineer
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Что такое Kafka Connect
Framework для streaming integration без code. Configure via JSON.
Source DB → Source Connector → Kafka → Sink Connector → Target DBСтандарт для CDC pipelines.
Source connectors
Debezium — most popular. CDC из Postgres, MySQL, MongoDB, Oracle, SQL Server.
JDBC source. Periodic SELECT из RDBMS. Less efficient than CDC.
File source. Watch directory.
S3 source. Read files from S3.
{
"name": "postgres-cdc",
"config": {
"connector.class": "io.debezium.connector.postgresql.PostgresConnector",
"database.hostname": "...",
"database.dbname": "...",
"schema.include": "public",
"table.include.list": "public.orders,public.users"
}
}Sink connectors
Elasticsearch sink. Search indexing.
JDBC sink. Write обратно в RDBMS.
S3 sink. Archive to S3 как Parquet / JSON.
ClickHouse sink. Stream к CH.
HDFS sink.
{
"name": "s3-sink",
"config": {
"connector.class": "io.confluent.connect.s3.S3SinkConnector",
"topics": "orders",
"s3.bucket.name": "my-bucket",
"format.class": "io.confluent.connect.s3.format.parquet.ParquetFormat",
"rotate.schedule.interval.ms": "60000"
}
}Distributed mode
Standalone. Single worker. Dev / small.
Distributed. Multiple workers. Tasks distributed.
Worker 1: Task1, Task2 (Connector A)
Worker 2: Task3 (Connector B), Task4 (Connector A)REST API to manage. Cluster scales horizontally.
Single Message Transforms
Lightweight transformations в Connect без code.
Examples:
- Mask PII fields.
- Rename fields.
- Cast types.
- Filter messages.
- Add timestamp.
"transforms": "MaskField",
"transforms.MaskField.type": "org.apache.kafka.connect.transforms.MaskField$Value",
"transforms.MaskField.fields": "ssn,credit_card"Связанные темы
- Kafka на собесе DE
- CDC и Debezium для DE
- Schema evolution для DE
- Kafka consumer groups для DE
- Подготовка к собесу Data Engineer
FAQ
Это официальная информация?
Нет. Статья основана на документации Apache Kafka / Confluent / Debezium.
Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.