STACKIT Intake – Kafka-basierte Datenaufnahme
Daten aus verschiedenen Quellen zuverlässig in ein Data Lakehouse zu bringen, ist oft der aufwändigste Teil einer Datenplattform. Kafka-Cluster betreiben, Connectoren pflegen, Schema-Kompatibilität sicherstellen – das bindet Ressourcen. STACKIT Intake nimmt dir diese Arbeit ab: Du schickst Daten per Kafka-Protokoll, Intake schreibt sie direkt in Apache Iceberg Tabellen.
Was ist STACKIT Intake?
STACKIT Intake ist ein Managed-Ingestion-Service, der das Kafka-Protokoll als Eingangsschnittstelle nutzt und Daten automatisch in Apache Iceberg-Tabellen im STACKIT Object Storage persistiert.
- Kafka-kompatibel: Bestehende Kafka-Producer können ohne Code-Änderung Daten an Intake senden.
- Apache Iceberg nativ: Daten landen direkt als Iceberg-Tabellen – sofort per SQL über Dremio abfragbar.
- Schema Evolution: Änderungen am Datenformat werden automatisch erkannt und im Iceberg-Schema nachgezogen.
- Exactly-once Semantik: Keine Duplikate, keine Datenverluste.
- Managed Betrieb: Kein Kafka-Cluster-Management, keine Zookeeper-Sorgen.
Tutorial: Daten per Kafka-Producer in Iceberg schreiben
1. Voraussetzungen
- Ein aktives STACKIT-Projekt mit aktiviertem Intake-Service.
- Einen Intake-Endpunkt und Credentials aus dem STACKIT Portal.
2. Topic anlegen
stackit intake topic create \
--name sensor-events \
--project-id your-project-id \
--schema-type json
3. Daten senden (Python)
Du kannst jeden Kafka-kompatiblen Producer verwenden:
from confluent_kafka import Producer
config = {
"bootstrap.servers": "intake.stackit.cloud:9094",
"security.protocol": "SASL_SSL",
"sasl.mechanisms": "PLAIN",
"sasl.username": "your-project-id",
"sasl.password": "your-api-key"
}
producer = Producer(config)
event = '{"sensor_id": "s-42", "temperature": 21.5, "timestamp": "2026-03-26T10:00:00Z"}'
producer.produce("sensor-events", value=event)
producer.flush()
4. Daten in Dremio abfragen
Sobald die Daten in Intake ankommen, sind sie als Iceberg-Tabelle verfügbar:
SELECT sensor_id, AVG(temperature) as avg_temp
FROM intake.sensor_events
WHERE timestamp >= '2026-03-01'
GROUP BY sensor_id
ORDER BY avg_temp DESC;
5. Durchsatz überwachen
stackit intake topic stats --name sensor-events
# Ausgabe:
# TOPIC MESSAGES/s BYTES/s LAG
# sensor-events 1.2k 3.4 MB 0
Nächste Schritte
- Kombiniere Intake mit STACKIT Workflows, um nach der Aufnahme automatisch Transformationen auszuführen.
- Nutze Dremio Data Reflections, um häufige Abfragen auf den Iceberg-Tabellen zu beschleunigen.
- Richte Alerting ein, um bei steigendem Consumer-Lag benachrichtigt zu werden.