HoloWeb支持一键同步OSS数据功能,允许您使用可视化方式将OSS表数据快速导入至Hologres内部表并进行查询,与创建外部表直接查询数据的方式相比,其查询性能更加优越。
前提条件
- 存在已登录实例,请参见登录实例。 
- 已创建Foreign Server,详情请参见创建Foreign Server。 
操作步骤
- 在顶部菜单栏左侧,选择相应的地域。 
- 在左侧导航栏单击前往HoloWeb,进入HoloWeb开发页面。 
- 登录目标数据库后,在顶部菜单栏单击元数据管理 > OSS数据湖加速 > 一键OSS数据导入,进入一键OSS数据湖数据导入页面。 
- 配置新建OSS数据导入任务的各项参数,SQL Script将为您自动解析当前可视化操作对应的SQL语句。 - 类别 - 参数名 - 描述 - 选择实例 - 实例名 - 已登录的实例名称。 - DLF源表 - Server Name - 创建的Foreign Server(外部服务器)名称。 - 数据库名 - 需要导入的OSS数据所在的DLF数据库名称。 - 表名 - 需要导入的OSS数据表名。 - Hologres目标表 - 数据库名 - 待导入至Hologres的目标数据库名称。 - Schema Name - 默认为public,可在下拉列表中选择其他有权限的Schema。 - 表名 - 新建的Hologres内部表名称。 - 您无需手动创建,输入目标DLF表名后,系统将会自动填入相同的Hologres内部表名,您也可以对其进行重命名。 - 对于已经存在的同名内部表: - 非分区表:执行后,原表和数据会被删除,并重建。 
- 分区表:不删除原表和数据,根据分区值直接新建分区子表,并插入数据。若DLF表结构与已存在的同名内部表不一致,则执行会报错。 
 - 目标表描述 - 新建的Hologres内部表描述,可自定义修改。 - 参数设置 - GUC参数 - 需要设置的GUC参数。 - 通常需要在控制作业读写并发时输入。格式为: - set <GUC>=<values>;,如需设置多个GUC参数,需要分行填写。- 导入设置 - 字段 - 需要导入的DLF表字段。 - 您可以选择导入部分或全部字段。 - 分区配置 - 分区字段:选择分区字段 
- 业务日期:如果DLF表使用日期作为分区,您可以选择具体的分区日期,系统将会导入指定日期的数据至Hologres表。 
 - 索引配置 - 存储模式: - 列存:适用于各种复杂查询。 
- 行存:适用于基于主键的点查询和Scan。 
- 行列共存:适用于OLAP复杂分析和高并发点查、非主键点查等多种场景。 
 - 如果不指定存储模式,则系统默认使用列存模式。 - 更多信息请参见表存储格式:列存、行存、行列共存。 
- 表数据生命周期:表数据的生命周期,默认为永久存储。指定生命周期后,如果数据在指定时间内未被修改,则引擎将会在到期后的某一个时间段删除数据。 
- Binlog:表是否开启Binlog,详情请参见订阅Hologres Binlog。 说明- Hologres V0.9及以上版本支持单表级别的Binlog功能。 
- Binlog生命周期:Binlog的TTL,单位为秒。默认为30天,即默认2592000秒,详情请参见订阅Hologres Binlog。 
 - 完成上述配置后,您可对需要导入的DLF表字段设置字段属性。如:分布列、分段列、聚簇列、字典编码列、位图列。 
- 单击页面右上角的提交后,可在一键OSS数据导入页面查看数据导入任务的执行详情。 
- (可选)您可在对应导入任务的操作列对任务进行详情查看、重新运行、删除或查看执行历史操作。 
查询OSS数据
OSS数据导入任务执行成功后,Hologres将自动生成一个内部表,您可在Hologres中执行如下SQL语句查询数据:
SELECT * FROM <tablename>;其中tablename为上述创建OSS数据导入任务时填写的Hologres内部表名称。