duckdb_delta_sharing

Der effizienteste Weg, Delta-Lake-Tabellen über das Delta-Sharing-Protokoll direkt aus DuckDB abzufragen.

Maintainer: prequel-co

Installation und Laden

INSTALL duckdb_delta_sharing FROM community;
LOAD duckdb_delta_sharing;

Beispiel

INSTALL duckdb_delta_sharing FROM community;
LOAD duckdb_delta_sharing;
-- Required for network access
INSTALL httpfs;
LOAD httpfs;
-- Basic Configuration
-- Set your sharing endpoint and bearer token using DuckDB Secrets:
CREATE SECRET (
TYPE delta_sharing,
PROVIDER config,
ENDPOINT 'https://your-delta-sharing-server.com/api/2.0/delta-sharing',
BEARER_TOKEN 'your_private_token'
);
-- Alternatively, if you have DELTA_SHARING_ENDPOINT and DELTA_SHARING_BEARER_TOKEN set in your environment:
CREATE SECRET (TYPE delta_sharing, PROVIDER env);
-- Discovering Content
SELECT * FROM delta_share_list(); -- shares
SELECT * FROM delta_share_list('my_share'); -- schemas in a share
SELECT * FROM delta_share_list('my_share', 'my_schema'); -- tables in a schema
SELECT * FROM delta_share_list_all_tables('my_share'); -- every table across all schemas
SELECT * FROM delta_share_list('my_share', 'my_schema', 'my_table');-- a table's columns
-- Reading Tables
SELECT * FROM delta_share_read('my_share', 'my_schema', 'my_table')
WHERE year = 2024
LIMIT 100;
-- Time Travel
SELECT count(*)
FROM delta_share_read('my_share', 'my_schema', 'my_table', '2024-04-09 12:00:00');
-- Change Data Feed (CDF)
SELECT *
FROM delta_share_change_data_feed('my_share', 'my_schema', 'my_table', 10);

Über duckdb_delta_sharing

duckdb_delta_sharing ist eine Erweiterung zum direkten Abfragen von Delta-Lake-Tabellen aus DuckDB. Sie implementiert das Delta-Sharing-Protokoll und ermöglicht es Ihnen, Daten von entfernten Delta-Sharing-Servern mit nativer Performance zu streamen.

Fähigkeiten:

  • Ultraschneller nativer Reader: Direkt auf DuckDBs MultiFileReader und dem C++-Parquet-Scanner aufgebaut. Kein Python-Overhead.
  • Time Travel: Fragen Sie Ihre Daten so ab, wie sie zu einem beliebigen Zeitpunkt in der Historie existierten.
  • Change Data Feed (CDF): Verfolgen Sie inkrementelle Ergänzungen, Entfernungen und Aktualisierungen.
  • Erweiterter Predicate Pushdown: Filter werden an den Server weitergegeben, um die Datenübertragung zu minimieren.
  • Sicher by Design: Unterstützt OAuth/Bearer-Token-Authentifizierung und branchenübliche Verschlüsselung.
  • Query-Telemetrie: Optionales SQL-Tracking, damit Administratoren die Performance optimieren können.

Architektur: Traditionelle Delta-Sharing-Clients stützen sich oft auf schwere Frameworks wie Spark. Diese Erweiterung ermöglicht DuckDB, Parquet-Dateien direkt in den Speicher zu laden. Sie behandelt nativ Partition Discovery (automatische Abbildung von Ordnerstrukturen auf Spalten), Deletion Vectors (zeilenweise Deletes ohne Dateiumschreibung) und Schema Evolution (sichere Abbildung von Delta-Typen auf DuckDBs native Typen).

Hinzugefügte Funktionen

function_name function_type description comment examples
delta_share_change_data_feed table NULL NULL
delta_share_list table NULL NULL
delta_share_list_all_tables table NULL NULL
delta_share_list_files scalar NULL NULL
delta_share_read table NULL NULL

Überladene Funktionen

Diese Erweiterung fügt keine Funktionsüberladungen hinzu.

Hinzugefügte Typen

Diese Erweiterung fügt keine Typen hinzu.

Hinzugefügte Einstellungen

name description input_type scope aliases
delta_sharing_query_telemetry_enabled Enable sending full SQL query to server for telemetry BOOLEAN GLOBAL []