Расширение Delta
Расширение delta добавляет поддержку открытого формата хранения данных Delta Lake. Оно разработано с использованием Delta Kernel. Расширение предлагает поддержку чтения для таблиц Delta, как локальных, так и удаленных.
Подробную информацию об реализации см. в записи блога об анонсе.
Предупреждение Расширение
deltaв настоящее время является экспериментальным и поддерживается только на определенных платформах.
Установка и загрузка
Расширение delta будет прозрачно автоматически загружено при первом использовании из официального репозитория расширений. Если вы хотите установить и загрузить его вручную, выполните следующую команду:
INSTALL delta; LOAD delta;
Использование
Для сканирования локальной таблицы Delta выполните следующую команду:
SELECT *
FROM delta_scan('file:///some/path/on/local/machine'); Чтение из хранилища S3
Для сканирования таблицы Delta в хранилище S3 выполните следующую команду:
SELECT *
FROM delta_scan('s3://some/delta/table'); Для аутентификации в хранилищах S3 поддерживаются секреты DuckDB:
CREATE SECRET (
TYPE S3,
PROVIDER CREDENTIAL_CHAIN
);
SELECT *
FROM delta_scan('s3://some/delta/table/with/auth'); Для сканирования общедоступных хранилищ S3, возможно, потребуется указать правильный регион, создав секрет, содержащий регион вашего общедоступного хранилища S3:
CREATE SECRET (
TYPE S3,
REGION 'my-region'
);
SELECT *
FROM delta_scan('s3://some/public/table/in/my-region'); Чтение из хранилища Azure Blob Storage
Для сканирования таблицы Delta в хранилище Azure Blob Storage выполните следующую команду:
SELECT *
FROM delta_scan('az://my-container/my-table'); Для аутентификации в хранилище Azure Blob Storage поддерживаются секреты DuckDB:
CREATE SECRET (
TYPE AZURE,
PROVIDER CREDENTIAL_CHAIN
);
SELECT *
FROM delta_scan('az://my-container/my-table-with-auth'); Функции
Хотя расширение delta все еще находится на стадии эксперимента, многие функции (сканирования) и оптимизации уже поддерживаются:
- многопоточные сканирования и чтение метаданных Parquet
- пропуск данных/фильтрация данных
- пропуск блоков строк в файле (на основе метаданных Parquet)
- пропуск целых файлов (на основе информации о разбиении Delta)
- проецирование
- сканирование таблиц с векторами удаления
- все примитивные типы
- структуры
- поддержка S3 с секретами
В будущем будут выпущены дополнительные оптимизации.
Поддерживаемые версии DuckDB и платформы
Расширение delta требует DuckDB версии 0.10.3 или более поздней.
Расширение delta в настоящее время поддерживает только следующие платформы:
- Linux AMD64 (x86_64 и ARM64):
linux_amd64,linux_amd64_gcc4, иlinux_arm64 - macOS Intel и Apple Silicon:
osx_amd64иosx_arm64 - Windows AMD64:
windows_amd64
Поддержка других платформ DuckDB находится в стадии разработки.
© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/extensions/delta.html