Kafka source
tap-kafka consumes one Kafka topic per tap and emits its messages as a Singer
stream.
Source |
Status |
Formats |
|---|---|---|
Kafka |
Experimental |
JSON; Protobuf support is also experimental |
Configuration
id: "order_events"
name: "Order events"
type: "tap-kafka"
owner: "data-platform@example.com"
db_conn:
group_id: "pipelinewise-orders"
bootstrap_servers: "kafka1.example.com:9092,kafka2.example.com:9092"
topic: "order-events"
initial_start_time: "latest"
primary_keys:
order_id: "/order/id"
target: "snowflake"
batch_size_rows: 20000
stream_buffer_size: 0
default_target_schema: "kafka"
schemas:
- source_schema: "kafka"
target_schema: "kafka"
tables:
- table_name: "order_events"
Setting |
Required |
Default |
Effect |
|---|---|---|---|
|
Yes |
— |
Kafka consumer group identifier. |
|
No |
|
Initial offset position: |
|
No |
None |
Maps output key columns to JSON paths. |
|
No |
|
Uses the UTF-8 message key when custom primary keys are absent. |
|
No |
|
Bounds one tap invocation. |
|
No |
|
Controls the tap’s offset commit cadence. |
Test restart behaviour, duplicate handling, consumer-group ownership, schema changes, and poison messages before production use. Use one tap YAML per topic.