跳到主要内容

Iceberg 表引擎

引入或更新于:v1.2.262

Databend 的 Apache Iceberg 引擎允许您无缝查询和分析存储在对象存储中的 Apache Iceberg 表中的数据。当您在 Databend 中使用 Apache Iceberg 引擎创建表时,您需要指定 Apache Iceberg 表的数据文件存储位置。这种设置允许您直接访问表并从 Databend 内部无缝进行查询。

  • Databend 的 Apache Iceberg 引擎目前仅支持只读操作。这意味着支持从您的 Apache Iceberg 表中查询数据,而不支持向表中写入数据。
  • 使用 Apache Iceberg 引擎创建的表的模式在创建时设置。对原始 Apache Iceberg 表的模式进行任何修改都需要在 Databend 中重新创建相应的表,以确保同步。

数据类型映射

此表将 Apache Iceberg 与 Databend 之间的数据类型进行了映射。请注意,Databend 目前不支持表中未列出的 Iceberg 数据类型。

Apache IcebergDatabend
BOOLEANBOOLEAN
INTINT32
LONGINT64
DATEDATE
TIMESTAMP/TIMESTAMPZTIMESTAMP
FLOATFLOAT
DOUBLEDOUBLE
STRING/BINARYSTRING
DECIMALDECIMAL
ARRAY<TYPE>ARRAY, 支持嵌套
MAP<KEYTYPE, VALUETYPE>MAP
STRUCT<COL1: TYPE1, COL2: TYPE2, ...>TUPLE
LISTARRAY

语法

CREATE TABLE <table_name>
ENGINE = Iceberg
LOCATION = 's3://<path_to_table>'
CONNECTION_NAME = '<connection_name>'

在使用 Apache Iceberg 引擎创建表之前,您需要创建一个连接对象,用于与您的 S3 存储建立连接。要在 Databend 中创建连接,请使用 CREATE CONNECTION 命令。

示例

--设置连接
CREATE CONNECTION my_s3_conn
STORAGE_TYPE = 's3'
ACCESS_KEY_ID ='your-ak' SECRET_ACCESS_KEY ='your-sk';

-- 使用 Apache Iceberg 引擎创建表
CREATE TABLE test_iceberg
ENGINE = Iceberg
LOCATION = 's3://testbucket/iceberg_ctl/iceberg_db/iceberg_tbl/'
CONNECTION_NAME = 'my_s3_conn';
这篇文章对您有帮助吗?
Yes
No
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册