Hologres外部表允许您访问存储在外部数据源(OSS)中的数据。外部表的创建通常依赖于已经设置好的外部服务器(Foreign Server),本文为您介绍如何使用HoloWeb可视化操作外部表,并进行数据预览。
前提条件
实例已创建Foreign Server,详情请参见创建Foreign Server。
Foreign Server的DLF Catalog中已存在数据库和数据表,创建数据库和数据表的操作请参见元数据管理。
使用限制
Hologres不支持跨地域查询外部表数据。
创建外部表
在顶部菜单栏左侧,选择相应的地域。
在左侧导航栏单击前往HoloWeb,进入HoloWeb开发页面。
在HoloWeb顶部菜单栏单击元数据管理 > OSS数据湖加速 > 创建外部表。
您可根据需要选择加速方式为整库加速、部分加速或单表加速,参数说明如下:
整库加速
类别
参数名
描述
加速方式
整库加速
将DLF指定数据库下的表全量创建为Hologres外部表。
DLF数据源
Server Name
已创建的Foreign Server,用于指定外部数据源的连接信息。
DB Name
Foreign Server中指定DLF Catalog下的数据库名称。
目标位置
Holo Schema
默认为public,可在下拉列表中选择有权限的其他Schema。
高级选项
表名冲突
创建表时,如果数据库中已存在当前创建的表名称,您可以根据需要选择如下处理方式:
忽略,继续创建其他表:忽略当前创建的表,继续创建其他表。
更新,修改同名表:更新已有表的数据。
报错,不再重复创建:产生报错,不再重复创建。
数据类型不支持
创建表时,如果存在不支持的数据类型,您可根据需要选择如下处理方式:
报错,导入失败:产生报错,数据导入失败。
忽略,跳过不支持字段所在表:忽略不支持字段所在的表,继续导入数据。
部分加速
类别
参数名
描述
加速方式
部分加速
支持选择部分表来创建外部表,可通过表名模糊搜索。
DLF数据源
Server Name
已创建的Foreign Server,用于指定外部数据源的连接信息。
DB Name
Foreign Server中指定DLF Catalog下的数据库名称。
目标位置
Holo Schema
默认为public,可在下拉列表中选择有权限的其他Schema。
高级选项
表名冲突
创建表时,如果数据库中已存在当前创建的表名称,您可以根据需要选择如下处理方式:
忽略,继续创建其他表:忽略当前创建的表,继续创建其他表。
更新,修改同名表:更新已有表的数据。
报错,不再重复创建:产生报错,不再重复创建。
数据类型不支持
创建表时,如果存在不支持的数据类型,您可根据需要选择如下处理方式:
报错,导入失败:产生报错,数据导入失败。
忽略,跳过不支持字段所在表:忽略不支持字段所在的表,继续导入数据。
搜索
通过表名模糊搜索目标表进行勾选。
单表加速
类别
参数名
描述
加速方式
单表加速
给指定的某一张表创建Hologres外部表。
DLF数据源
Server Name
已创建的Foreign Server,用于指定外部数据源的连接信息。
DB Name
Foreign Server中指定DLF Catalog下的数据库名称。
Table Name
DLF数据库中创建的表名。
Hologres目标表
Schema
默认为public,可在下拉列表中选择有权限的其他Schema。
表名
新建的Hologres外部表名称。
说明输入目标DLF表名后,将会自动填入DLF表名,如您需要修改表名,可以重命名。
目标表描述
新建的Hologres外部表描述,可自定义修改。
单击提交,即可在左侧对应模式下,刷新出新建的外部表。
(可选)您可鼠标双击已创建的外部表,单击查询表,进入SQL查询窗口,使用标准的PostgreSQL语言进行开发。
说明输入表名称后,会显示外部源表的所有字段,创建外部表时也将默认创建所有字段。如果您需要创建部分字段,请使用单表加速或SQL语句创建外部表,使用SQL创建外部表的方式请参见CREATE FOREIGN TABLE。
外部表相关操作
编辑外部表
在HoloWeb页面的左侧导航栏,选择已登录实例列表。
单击目标实例 > 目标数据库 > 目标模式下的外表,显示所有已创建的外部表。
鼠标双击目标外部表,在详情页面单击编辑表。
您可以根据业务需求,更改需要映射的外部源表的字段或分区。
单击提交,完成对当前外部表的编辑。
修改外部表名称
在HoloWeb页面左侧导航栏的已登录实例列表中查询目标外部表,查询目标外部表的操作请参见编辑外部表的步骤1~2。
鼠标右键单击目标外部表,选择重命名。
在修改表名对话框中填入新名称。
单击确认。
删除外部表
在HoloWeb页面左侧导航栏的已登录实例列表中查询目标外部表,查询目标外部表的操作请参见编辑外部表步骤的1~2。
鼠标右键单击目标外部表,选择删除表。
在删除表对话框中单击确认。
数据预览
在HoloWeb页面左侧导航栏的已登录实例列表中查询目标外部表,查询目标外部表的操作请参见编辑外部表步骤的1~2。
鼠标双击目标外部表,在外部表的详情页面单击数据预览。
常见问题
问题描述:在HoloWeb中访问目标外部表时,提示无RAM DLF API相关权限。页面报错包含如下信息:
You are not authorized to perform the operation. Please use RAM to authorize the operation.Action: [dlf:xxx].
解决方法:需要在RAM上授予AliyunDLF相关OpenAPI层权限,详情请参见权限说明。