Skip to content

Delta Lake ​

Reads one Delta table at table_uri. Use it to pull a table another engine already wrote (Databricks, Spark, or a local Delta path).

Before you begin ​

  • A s3://, file://, or other URI the process can read.
  • Credentials for that store (AWS env vars for S3).

Configure ​

python
from skippr import Config, DataSourceDeltaLake, Pipeline

cfg = Config.discover()
src = cfg.data_source(
    "delta",
    DataSourceDeltaLake(table_uri="s3://acme-delta/events"),
)
cfg.pipeline("events", Pipeline(data_source=src))
cfg.save()
bash
skipprd connect data-source delta-lake \
  --pipeline events \
  --name delta \
  --table-uri s3://acme-delta/events
yaml
data_sources:
  delta:
    DeltaLake:
      table_uri: s3://acme-delta/events

Options ​

KeyTypeRequired/DefaultDescription
table_uriURIRequiredDelta table root
storage_optionsmapNot setExtra store settings (keys the Delta reader accepts)
versionintegerNot setRead this snapshot version
filterstringNot setPush-down filter when the reader supports it
batch_size_rowsintegerNot setRows per batch
formatstringNot setFormat override
batch_size_bytesintegerNot setMax bytes per batch
batch_size_secondsintegerNot setMax seconds per batch

What gets synced ​

The current table (or version) becomes records. This is a snapshot read, not Databricks CDC.

Troubleshooting ​

SymptomFix
Table not foundCheck table_uri includes the _delta_log parent
Access deniedGrant read on the prefix
Empty readConfirm version still exists

Next steps ​