Skip to content

What Access Skippr Needs to Read from Delta Lake

June 2026

Delta Lake access is about reading both the transaction log and the data files behind one table URI, not just opening a folder that looks right.

Short Answer

Skippr needs read access to the Delta transaction log and the data files behind table_uri, plus storage credentials that match the backend behind that URI. The connector docs make that explicit: the machine running Skippr must be able to reach the location and the underlying storage identity has to authorize reads, whether the table lives in S3, ADLS, or local storage.

For example, a table at s3://lakehouse/finance/orders is readable only when the runner can open _delta_log entries and the Parquet files those entries reference. If storage_options carries AWS_REGION and credential values through environment variables, Skippr can read a specific version such as 5 or the latest snapshot without guessing from folder names.

Why Teams Struggle with This

Delta Lake access often looks simpler than it is because teams think in terms of bucket paths. The connector is not reading loose files by convention; it is reading a Delta table, which means log access, file access, and backend credentials all have to line up.

  • The runner needs read access to both _delta_log metadata and the actual data files, not just permission to list a bucket prefix.
  • A plausible-looking path is not enough if table_uri does not point at the Delta table root.
  • Backend-specific storage_options still matter, so an S3-backed table and an ADLS-backed table do not share the same credential model.
  • If you pin version, that older snapshot is the intentional read boundary and newer writes will not appear until you change it.

How Skippr Handles It

Skippr keeps Delta Lake access honest by exposing table_uri, storage_options, version, and filter directly. That gives operators a short checklist: is the URI correct, can this identity read the object store, and are we intentionally reading the latest snapshot or a fixed version.

The result is a more teachable source contract than a generic file crawler. When a read works, you know the Delta log was readable, the file references resolved, and the table definition itself is a stable boundary for downstream use.

  • Reads Delta tables from S3, ADLS, or local paths through one table_uri.
  • Uses backend-specific storage_options for object-store credentials and region settings.
  • Can pin a Delta version when a controlled historical read is the point.
  • Supports an optional filter without hiding which table is being accessed.

What the First Useful Version Looks Like

The first useful version is one table URI, one backend credential path, and one run that proves the runner can open the Delta log and scan the rows you expect.

Only widen the integration after that works, because most Delta access problems come from the storage boundary, not from downstream modeling.