Расширения сообщества
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 процесс публикации потребовал выполнения следующих шагов:
-
Отправка запроса на вытягивание (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 -
CI выполнит сборку и тестирование расширения. Проверки, выполняемые CI, согласованы с
extension-templateрепозиторием, поэтому итерации могут выполняться независимо. -
Ожидание одобрения от администраторов репозитория расширений сообщества DuckDB и завершения процесса сборки.
Соображения безопасности
Подробности см. на странице Обеспечение безопасности расширений.
Список расширений сообщества
См. сайт репозитория расширений сообщества DuckDB.
© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/extensions/community_extensions.html