| Title: | Client for the Delta Sharing Protocol |
|---|---|
| Description: | Connects R to 'Delta Sharing' servers for share discovery, table metadata, snapshot reads, and change data feed reads. |
| Authors: | Zac Davies [aut, cre], Databricks [cph] |
| Maintainer: | Zac Davies <[email protected]> |
| License: | Apache License (>= 2) |
| Version: | 0.2.1 |
| Built: | 2026-10-12 06:42:29 UTC |
| Source: | https://github.com/zacdav-db/delta-sharing-r |
Fetches the official profile for the Delta Sharing open-datasets server and returns it as a parsed list. The profile is public, but fetching it requires an internet connection.
demo_profile()demo_profile()
A parsed Delta Sharing profile list.
profile <- demo_profile() names(profile)profile <- demo_profile() names(profile)
Constructs a SharingClient from a Delta Sharing profile. The profile may be
a path to a .share file or a parsed profile list. Construction parses and
validates the profile but performs no network request or token exchange.
sharing_client(profile)sharing_client(profile)
profile |
A profile file path or parsed profile |
client <- sharing_client(demo_profile()) client$list_tables("delta_sharing")client <- sharing_client(demo_profile()) client$list_tables("delta_sharing")
Delta Sharing change data feed reader
Delta Sharing change data feed reader
An immutable change data feed specification with Arrow materializers. Created
by SharingTable$changes(). The sharing server validates the supplied bounds.
delta.sharing::SharingReader -> SharingChanges
new()
Create a changes reader. Prefer SharingTable$changes().
SharingChanges$new( profile, auth, identifier, starting_version = NULL, ending_version = NULL, starting_timestamp = NULL, ending_timestamp = NULL, columns = NULL, cache_path, concurrency )
profile, auth, identifierInternal client state.
starting_version, ending_version, starting_timestamp, ending_timestamp, columnsQuery options; see SharingTable's changes() method.
cache_path, concurrencyInternal table execution settings.
Delta Sharing client
Delta Sharing client
A reusable client that owns a parsed profile and its authentication context. Discovery and table handles are created from the client. Download concurrency is configured on each table handle; query options live on its snapshot and changes readers.
Most users call sharing_client() rather than SharingClient$new().
new()
Create a client from a profile.
SharingClient$new(profile)
profileProfile path or parsed list.
endpoint()
The configured profile endpoint.
SharingClient$endpoint()
The endpoint URL string.
list_shares()
List available shares.
SharingClient$list_shares()
A printable list of share records.
list_schemas()
List schemas in a share.
SharingClient$list_schemas(share)
shareShare name.
A printable list of schema records.
list_tables()
List tables in a share, optionally within one schema.
SharingClient$list_tables(share, schema = NULL)
shareShare name.
schemaOptional schema name.
A printable list of table records.
table()
Create a reusable table handle.
SharingClient$table(name, schema = NULL, share = NULL, concurrency = 4L)
nameTable name, or a "share.schema.name" string when share
and schema are omitted.
schemaSchema name when using explicit components.
shareShare name when using explicit components.
concurrencyMaximum number of data files downloaded concurrently.
A SharingTable.
print()
Print the client.
SharingClient$print(...)
...Ignored.
Delta Sharing snapshot reader
Delta Sharing snapshot reader
An immutable snapshot read specification with Arrow materializers. Created by
SharingTable$snapshot(). Materialize with to_arrow_stream() (lazy),
to_arrow_reader() (lazy), to_arrow(), to_tibble(), or
to_data_frame().
delta.sharing::SharingReader -> SharingSnapshot
new()
Create a snapshot reader. Prefer SharingTable$snapshot().
SharingSnapshot$new( profile, auth, identifier, version = NULL, timestamp = NULL, columns = NULL, limit = NULL, predicate = NULL, response_format = "auto", cache_path, concurrency )
profile, auth, identifierInternal client state.
version, timestamp, columns, limit, predicate, response_formatQuery
options; see SharingTable's snapshot() method.
cache_path, concurrencyInternal table execution settings.
Delta Sharing table handle
Delta Sharing table handle
A cheap, reusable reference to a shared table. Metadata methods query the
control plane without scanning rows. snapshot() and changes() create
reader objects that carry query options and expose materializers. Downloaded
files are cached for the R session and shared by handles for the same table.
Created via SharingClient$table(), not directly.
Snapshot predicates are ordinary nested R lists. For example:
active_orders <- list(
op = "equal",
children = list(
list(op = "column", name = "is_active", valueType = "bool"),
list(op = "literal", value = "true", valueType = "bool")
)
)
orders$snapshot(predicate = active_orders)
The sharing server treats the predicate as a best-effort hint, not an exact row filter.
cache_pathRead-only path to this table's session cache. Removing it manually invalidates active lazy readers; the next read recreates it.
new()
Create a table handle. Prefer SharingClient$table().
SharingTable$new(profile, auth, identifier, concurrency = 4L)
profileParsed profile (internal).
authAuthentication context (internal).
identifierA list(share, schema, table) (internal).
concurrencyMaximum number of concurrent file downloads.
identifier()
The structured table identifier.
SharingTable$identifier()
A list with share, schema, and table.
version()
The current table version.
SharingTable$version()
A non-negative whole number.
protocol()
The table protocol capabilities.
SharingTable$protocol()
A safe list of protocol fields.
metadata()
The table metadata (no row scan).
SharingTable$metadata()
A safe structured metadata list.
schema()
The table's logical schema.
SharingTable$schema()
The parsed struct schema.
snapshot()
Configure a snapshot read.
SharingTable$snapshot( version = NULL, timestamp = NULL, columns = NULL, limit = NULL, predicate = NULL, response_format = "auto" )
versionOptional non-negative whole-number version.
timestampOptional scalar timestamp string or POSIXct value.
columnsOptional character vector of projected columns.
limitOptional non-negative whole-number row limit.
predicateOptional nested R list representing a structured server-side predicate hint. This is not an exact row filter.
response_formatOne of "auto", "delta", or "parquet".
changes()
Configure a change data feed read.
SharingTable$changes( starting_version = NULL, ending_version = NULL, starting_timestamp = NULL, ending_timestamp = NULL, columns = NULL )
starting_version, ending_versionOptional version bounds.
starting_timestamp, ending_timestampOptional timestamp strings or
POSIXct bounds.
columnsOptional character vector of projected columns.
print()
Print the table handle.
SharingTable$print(...)
...Ignored.