以下示例演示如何使用 Trino ↗ 连接到 R2 Data Catalog。有关使用 Trino 连接 R2 Data Catalog 的更多信息,请参阅 Trino 文档 ↗。
- 注册 Cloudflare 账户 ↗。
- 创建 R2 存储桶并启用数据目录。
- 创建 R2 API 令牌、密钥和 secret,并授予 R2 和数据目录权限。
- 安装 Docker ↗ 以运行 Trino 容器。
创建用于 catalog 配置的本地目录并切换到该目录
mkdir -p trino-catalog && cd trino-catalog/为 R2 Data Catalog 连接创建名为 r2.properties 的配置文件:
# r2.properties
connector.name=iceberg
# R2 Configuration
fs.native-s3.enabled=true
s3.region=auto
s3.aws-access-key=<Your R2 access key>
s3.aws-secret-key=<Your R2 secret>
s3.endpoint=<Your R2 endpoint>
s3.path-style-access=true
# R2 Data Catalog Configuration
iceberg.catalog.type=rest
iceberg.rest-catalog.uri=<Your R2 Data Catalog URI>
iceberg.rest-catalog.warehouse=<Your R2 Data Catalog warehouse>
iceberg.rest-catalog.security=OAUTH2
iceberg.rest-catalog.oauth2.token=<Your R2 authentication token>-
使用 R2 catalog 配置启动 Trino:
# Create a local directory for the catalog configuration mkdir -p trino-catalog # Place your r2.properties file in the catalog directory cp r2.properties trino-catalog/ # Run Trino with the catalog configuration docker run -d \ --name trino-r2 \ -p 8080:8080 \ -v $(pwd)/trino-catalog:/etc/trino/catalog \ trinodb/trino:latest -
连接到 Trino 并查询 R2 Data Catalog:
# Connect to the Trino CLI docker exec -it trino-r2 trino -
在 Trino CLI 中运行以下命令:
-- Show all schemas in the R2 catalog SHOW SCHEMAS IN r2; -- Show all schemas in the R2 catalog CREATE SCHEMA r2.example_schema -- Create a table with some values in it CREATE TABLE r2.example_schema.yearly_clicks ( year, clicks ) WITH ( partitioning = ARRAY['year'] ) AS VALUES (2021, 10000), (2022, 20000); -- Show tables in a specific schema SHOW TABLES IN r2.example_schema; -- Query your Iceberg table SELECT * FROM r2.example_schema.yearly_clicks;