以下示例演示如何使用 PyIceberg ↗ 连接到 R2 Data Catalog。
- 注册 Cloudflare 账户 ↗。
- 创建 R2 存储桶并启用数据目录。
- 创建 R2 API 令牌,并授予 R2 和数据目录权限。
- 安装 PyIceberg ↗ 和 PyArrow ↗ 库。
import pyarrow as pa
from pyiceberg.catalog.rest import RestCatalog
from pyiceberg.exceptions import NamespaceAlreadyExistsError
# 定义目录连接详情(替换变量)
WAREHOUSE = "<WAREHOUSE>"
TOKEN = "<TOKEN>"
CATALOG_URI = "<CATALOG_URI>"
# 连接到 R2 Data Catalog
catalog = RestCatalog(
name="my_catalog",
warehouse=WAREHOUSE,
uri=CATALOG_URI,
token=TOKEN,
)
# 创建默认命名空间
catalog.create_namespace("default")
# 创建简单的 PyArrow 表
df = pa.table({
"id": [1, 2, 3],
"name": ["Alice", "Bob", "Charlie"],
})
# 创建 Iceberg 表
test_table = ("default", "my_table")
table = catalog.create_table(
test_table,
schema=df.schema,
)