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 accessINSTALL 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 ContentSELECT * FROM delta_share_list(); -- sharesSELECT * FROM delta_share_list('my_share'); -- schemas in a shareSELECT * FROM delta_share_list('my_share', 'my_schema'); -- tables in a schemaSELECT * FROM delta_share_list_all_tables('my_share'); -- every table across all schemasSELECT * FROM delta_share_list('my_share', 'my_schema', 'my_table');-- a table's columns
-- Reading TablesSELECT * FROM delta_share_read('my_share', 'my_schema', 'my_table')WHERE year = 2024LIMIT 100;
-- Time TravelSELECT 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
MultiFileReaderund 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 | [] |