
# 访问第三方引擎创建的Iceberg表
对于Spark产生的Iceberg表，DataArts Fabric SQL通过外表方式访问OBS上的Iceberg数据。
1. 获得对应OBS路径的访问权限。 
   登录华为云LakeFormation控制台，左侧选择"数据权限 \> 数据授权"，单击"授权"，将文件所在路径的READ/WRITE授权给当前IAM用户。
   ![](https://support.huaweicloud.com/devg-fabric/figure/zh-cn_image_0000002482790753.png "点击放大")
   
   
   
2. 创建EXTERNAL TABLE。 
   ```
   CREATE EXTERNAL TABLE table_name [column_name type_name,...] location 'fullLocation' store as iceberg;
   ```
   其中fullLocation是obs上Iceberg表所在路径的完整路径，如果指定列名与列类型，则需要列名与列类型与文件层面的元数据相同，如果不指定，则使用文件层面Iceberg元数据列名与列类型建表，ICEBERG文件层面数据类型与DataArts Fabric数据类型对应关系与需要指定的建表类型如下表所示。
   表1DataArts Fabric数据类型与ICEBERG数据类型匹配关系 
   | 类型名称       | ICEBERG对应数据类型 | DataArts Fabric对应建表类型 |
   |:---|:---|:---|
   | 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                  |
   | 数组类型       | LIST          | ARRAY\<...\>          |
   | STRUCT类型   | STRUCT        | STRUCT\<...\>         |
      
   
   
 
