更新时间:2025-08-25 GMT+08:00
访问第三方引擎创建的Iceberg表
对于Spark产生的Iceberg表,DataArtsFabric SQL通过外表方式访问OBS上的Iceberg数据。
- 获得对应OBS路径的访问权限。
登录华为云LakeFormation控制台,左侧选择“数据权限 > 数据授权”,单击“授权”,将文件所在路径的READ/WRITE授权给当前IAM用户。
- 创建EXTERNAL TABLE。
1
CREATE EXTERNAL TABLE table_name [column_name type_name,...] location 'fullLocation' store as iceberg;
其中fullLocation是obs上Iceberg表所在路径的完整路径,如果指定列名与列类型,则需要列名与列类型与文件层面的元数据相同,如果不指定,则使用文件层面Iceberg元数据列名与列类型建表,ICEBERG文件层面数据类型与DataArtsFabric数据类型对应关系与需要指定的建表类型如下表所示。
表1 DataArtsFabric数据类型与ICEBERG数据类型匹配关系 类型名称
ICEBERG对应数据类型
DataArtsFabric对应建表类型
2字节整数
INTEGER
INTEGER
4字节整数
INTEGER
INTEGER
8字节整数
LONG
BIGINT
单精度浮点数
FLOAT
FLOAT4
双精度浮点数
DOUBLE
FLOAT8
科学数据类型
DECIMAL
DECIMAL[p,s]
日期类型
DATE
DATE
时间类型
TIMESTAMP
TIMESTAMP
BOOLEAN类型
BOOLEAN
BOOLEAN
Char类型
STRING
TEXT
VARCHAR类型
STRING
TEXT
字符串(文本大对象)
STRING
TEXT
父主题: SQL on Iceberg