全部产品
Search
文档中心

实时数仓Hologres:非结构化数据(Object Table)

更新时间:Feb 03, 2026

Hologres自V4.0版本开始,支持通过Object Table访问数据湖OSS中的非结构化数据及其元信息,本文为您介绍Object Table的使用语法以及示例。

介绍

在人工智能时代,非结构化数据已成为驱动技术革新与智能进化的核心燃料。相较于传统数据库中的结构化信息,非结构化数据,如文本、图像、语音、视频、社交媒体内容等以原始、多元的形态承载更加真实的行为轨迹和复杂语义。通过对非结构化数据的处理、分析,可以帮助企业构建更强的竞争优势,让数据发挥更大的价值。Object Table具备的能力如下:

  • 支持通过表的形式读取OSS中非结构化数据(PDF、IMAGE、PPT等)。

  • 可以结合Dynamic Table增量刷新+Embedding Function对非结构化数据加工,既能对非结构化数据Embedding存储进Hologres,无需调用外部Embedding算法,也能增量识别文件变化,从而减少重复计算,提升计算效率。

  • 可以结合AI Function(如ai_gen等)对非结构化数据推理、分类等,也可以结合向量检索、全文检索对非结构化数据双路召回,实现非结构化数据的分析和搜索能力。

通过Hologres Object Table结合AI Function等能力,数据不用出库,无需调用外部服务,就可以实现OSS上非结构化数据的全链路加工、检索、分析,在提升数据安全性的同时也能拓宽业务的数据分析范围。

使用限制

  • 仅Hologres V4.0及以上版本支持该功能。

    说明

    如果您的实例是V4.0以下版本请参见实例升级

  • Object Table仅支持读取PDF、PPT以及图片等数据,不支持读取视频和音频。

语法

创建Object Table

  • Object Table一种专为读取非结构化数据而设计的表,因此在建表时无需指定列,Object Table有固定的列。

  • 创建完Object Table后,必须执行一次刷新Object Table才会有数据。

CREATE OBJECT TABLE [IF NOT EXISTS] [schema_name.]<table_name>
WITH (
  -- object table特有属性
  path = '<oss_path>',                           --必填
  oss_endpoint = '<oss_endpoint>',           --必填
  role_arn = '<role_arn>',                   --必填
  
  -- 通用参数
  [orientation = '[column | row | row,column]',]
  [table_group = '[tableGroupName]',]
  [distribution_key = 'columnName[,...]]',]
  [clustering_key = '[columnName{:asc}] [,...]]',]
  [storage_mode = '[hot | cold]',]
  [event_time_column = '[columnName [,...]]',]
  [bitmap_columns = '[columnName [,...]]',]
  [dictionary_encoding_columns = '[columnName [,...]]',]
  [time_to_live_in_seconds = '<non_negative_literal>']
);
  • 基本参数说明

    参数名

    是否必填

    描述

    path

    文件所在的OSS路径目录,Object Table会对该目录的文件进行元数据抽取。例如: oss://bucket/dir

    oss_endpoint

    OSS的Endpoint,仅支持经典网络,每个Region的域名详情见地域和Endpoint。例如:oss-ap-southeast-1-internal.aliyuncs.com

    role_arn

    阿里云RAM角色的ARN,例如 acs:ram::role-id:role/role-name。您可登录RAM控制台,在身份管理 > 角色页面,单击目标角色名称,获取对应角色的RAM信息。

  • 通过参数说明

    以下参数均为非必填。

    参数名

    描述

    默认值

    orientation

    Object Table存储格式,支持行存、列存、行列共存。详情请参见表存储格式:列存、行存、行列共存

    column

    table_group

    Object Table所在的Table Group

    default Table Group

    distribution_key

    分布键Distribution Key

    object_uri

    clustering_key

    聚簇索引Clustering Key

    object_uri

    storage_mode

    存储模式,支持hot(热存储)和cold(冷存储)。详情请参见数据分层存储

    hot

    event_time_column

    分段键。详情请参见Event Time Column(Segment Key)

    last_modified_at

    bitmap_columns

    位图索引Bitmap

    object_uri:auto,etag:auto

    dictionary_encoding_columns

    比特编码。详情请参见字典编码Dictionary Encoding

    object_uri:auto,etag:auto

    time_to_live_in_seconds

    表数据生命周期。

    3153600000

查看Object Table

查询Object Table

Object Table创建成功后,可以像查询普通表一样对该表进行查询。

SELECT * FROM <OBJECT_TABLE_NAME>;

Object Table的字段固定,详细的字段和说明如下:

列名

类型

描述

object_uri

TEXT

映射的具体的OSS文件路径。

etag

TEXT

ETag在每个Object生成时创建,具备唯一性,用于识别一个具体的文件内容。

file

FILE

FILE为新支持的类型,其格式类似于json,用于存储详细的元数据信息,可以使用JSON函数解析。其内容包括:

  • object_uri:object的路径。

  • etag:唯一的object 识别符。

  • size:文件大小。

  • last_modified_at:最后的修改时间。

  • owner_name:文件所属的Owner。

  • object_source:OSS。

  • oss_endpoint:映射的OSS Endpoint。

  • object_table_id:对应的Object Table ID。

  • role_arn:对应的ARN。

metadata

JSON

自定义metadata。

查看object table的表结构

  • 通过hg_dump_script查看

    SELECT hg_dump_script('[<schema_name>.]<object_table_name>');
  • 通过hologres.hg_table_properties系统表查看

    SELECT * FROM hologres.hg_table_properties WHERE table_name = '<object_table_name>';

刷新Object Table

Object Table创建后,必须执行一次刷新才会有数据。当前仅支持手动刷新Object Table。语法如下:

REFRESH OBJECT TABLE [<schema_name>.]<table_name>;

修改Object Table

仅支持修改Object Table的表名和schema,语法如下:

--重命名表名
ALTER OBJECT TABLE [IF EXISTS] <table_name> RENAME TO <new_name>;
--修改schema
ALTER OBJECT TABLE [IF EXISTS] [<schema_name>.]<table_name> SET SCHEMA <new_schema>;

删除Object Table

--开启表回收站后,删除的object table会自动进入回收站。
DROP OBJECT TABLE [IF EXISTS] <table_name> [FORCE];

如果数据库开启了回收站,删除Object Table会进入回收站,可以使用回收命令将Object Table恢复,恢复出来仍然是Object Table,详细使用见表回收站

最佳实践

Object Table可以结合Dynamic Table、AI Function、向量检索以及全文检索等能力,实现非结构化数据的自动加工、检索和分析。详情请参见: