← R2 Data Catalog / r2-data-catalog / config-examples
DuckDB
Ниже приведён пример использования DuckDB ↗ для подключения к R2 Data Catalog. Дополнительные сведения о подключении к R2 Data Catalog с помощью DuckDB см. в Документация DuckDB ↗.
Предварительные требования
- Зарегистрируйтесь для получения Аккаунт Cloudflare ↗.
- Создайте бакет R2 и включить каталог данных.
- Создать API-токен R2 с обоими Разрешения R2 и каталога данных.
- Установка DuckDB ↗.
- Примечание: DuckDB 1.4.0 ↗ или новее требуется для подключения и записи в REST-каталоги Iceberg ↗.
- Примечание. DuckDB в настоящее время не поддерживает ↗
DELETEдля партиционированных таблиц.
Пример использования
В DuckDB CLI ↗ (интерфейс командной строки), выполните следующие команды:
-- Install the iceberg DuckDB extension (if you haven't already) and load the extension.
INSTALL iceberg;
LOAD iceberg;
-- Install and load httpfs extension for reading/writing files over HTTP(S).
INSTALL httpfs;
LOAD httpfs;
-- Create a DuckDB secret to store R2 Data Catalog credentials.
CREATE SECRET r2_secret (
TYPE ICEBERG,
TOKEN '<token>'
);
-- Attach R2 Data Catalog with the following ATTACH statement.
ATTACH '<warehouse_name>' AS my_r2_catalog (
TYPE ICEBERG,
ENDPOINT '<catalog_uri>'
);
-- Create the default schema in the catalog and set it as the active schema.
CREATE SCHEMA my_r2_catalog.default;
USE my_r2_catalog.default;
-- Create and populate a sample Iceberg table with data.
CREATE TABLE my_iceberg_table AS SELECT a FROM range(4) t(a);
-- Show all available tables.
SHOW ALL TABLES;
-- Query the Iceberg table you just created.
SELECT * FROM my_r2_catalog.default.my_iceberg_table;