Importing data
Every route ends in the same place: an Apache Iceberg table in the lakehouse, versioned through Nessie and subject to the policies. Only the origin differs.
CSV and files
The usual starting point, found under Daten → “+ Daten hinzufügen” (data → add data). The assistant reads the file, proposes a structure, and lets you revise it before loading — without a line of SQL.
- Override types where detection got it wrong.
- Rename or drop columns.
- Declare null tokens — “N/A” or “-” as empty rather than as text.
- Trim surrounding whitespace and discard duplicates.
Large files report progress row by row while loading. A running import stays visible even if you move on to another page — it is not cancelled because the view changed.

Database connectors
Under Daten → Datenquellen (data → data sources) you can register existing databases: PostgreSQL, MySQL and MS SQL Server. Individual tables are then imported from them into the lakehouse.
| Property | Behavior |
|---|---|
| Credentials | Stored AES-256-GCM encrypted, never returned or logged. |
| Connection | Read-only. |
| Transport | TLS with certificate verification by default, switchable per source to require or disable. |
| Connection test | Runs through the egress guard — link-local and cloud-metadata addresses are excluded. |

Documents
Under Daten → Dokumente (data → documents) you upload PDF, Word and text files. They are extracted, split into chunks and embedded; the result lands as a regular table in the lakehouse. Search and policies therefore apply to document content exactly as they do to table data.
Extraction runs sandboxed
PDF and Word are read in a separate worker with a hard timeout. A crafted document gets no further than that worker.
MCP ingestion
When an MCP server is registered — a SAP MCP, say — tabular results from one of its enabled tools can be pulled straight into the lakehouse under Daten → MCP-Ingestion. Only explicitly enabled tools appear in the selection.
Fileshare crawler
Instead of uploading files one at a time, you can register a mounted directory. Matching files then run through the same pipelines as an upload. The crawler stays confined to the registered path and is hardened against files being swapped between the check and the access.
Every route stays traceable
Betrieb → Herkunft later shows what a table grew out of and who has read it since.
Applies to: This page describes lavalake 0.16.0. Product and documentation live in separate repositories — when in doubt, what the console shows is authoritative.
Something missing?
If these pages do not answer your question, we will walk through the platform against your own case in half an hour.
Book a demo