Spec-Zone.ru › DuckDB

Расширения сообщества

DuckDB недавно запустил репозиторий расширений сообщества. Подробности см. в записи блога об объявлении.

Опыт пользователя

Мы будем использовать h3 расширение в качестве примера. Это расширение реализует иерархическую гексагональную индексацию для геопространственных данных.

Используя репозиторий расширений сообщества DuckDB, вы можете установить и загрузить h3 расширение следующим образом:

INSTALL h3 FROM community;
LOAD h3;

Затем вы можете мгновенно начать его использовать. Обратите внимание, что примерные данные занимают 500 МБ:

SELECT
    h3_latlng_to_cell(pickup_latitude, pickup_longitude, 9) AS cell_id,
    h3_cell_to_boundary_wkt(cell_id) AS boundary,
    count() AS cnt
FROM read_parquet('https://blobs.duckdb.org/data/yellow_tripdata_2010-01.parquet')
GROUP BY cell_id
HAVING cnt > 10;

При загрузке проверяется подпись расширения, чтобы убедиться в совместимости платформы и версий, а также для проверки того, что исходный двоичный файл происходит из репозитория расширений сообщества. Расширения создаются, подписываются и распространяются для Linux, macOS, Windows и WebAssembly. Это позволяет использовать расширения для любых клиентов DuckDB, использующих версию 1.0.0 и будущие версии.

Для получения более подробной информации см. h3 документацию по расширению.

Опыт разработчика

С точки зрения разработчика, репозиторий расширений сообщества выполняет шаги, необходимые для публикации расширений, включая создание расширений для всех соответствующих платформ, подписание двоичных файлов расширения и их размещение в репозитории.

Для администратора h3 процесс публикации потребовал выполнения следующих шагов:

  1. Отправка запроса на вытягивание (PR) с файлом метаданных description.yml , содержащим описание расширения:

    extension:
      name: h3
      description: Hierarchical hexagonal indexing for geospatial data
      version: 1.0.0
      language: C++
      build: cmake
      license: Apache-2.0
      maintainers:
        - isaacbrodsky
    
    repo:
      github: isaacbrodsky/h3-duckdb
      ref: 3c8a5358e42ab8d11e0253c70f7cc7d37781b2ef
  2. CI выполнит сборку и тестирование расширения. Проверки, выполняемые CI, согласованы с extension-template репозиторием, поэтому итерации могут выполняться независимо.

  3. Ожидание одобрения от администраторов репозитория расширений сообщества DuckDB и завершения процесса сборки.

Соображения безопасности

Подробности см. на странице Обеспечение безопасности расширений.

Список расширений сообщества

См. сайт репозитория расширений сообщества DuckDB.

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/extensions/community_extensions.html

Spec-Zone.ru

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