Spec-Zone.ru › DuckDB

Расширение 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API