すべてのプロダクト
Search
ドキュメントセンター

Hologres:非構造化データ (オブジェクトテーブル)

最終更新日:Feb 04, 2026

Hologres V4.0 以降では、オブジェクトテーブルを使用して、OSS データレイクに格納されている非構造化データとそのメタデータにアクセスできます。本トピックでは、オブジェクトテーブルを使用するための構文と例について説明します。

はじめに

人工知能の時代において、非構造化データは技術革新とインテリジェントな進化を推進する中心的な燃料となっています。従来のデータベースにおける構造化データとは異なり、テキスト、イメージ、オーディオ、ビデオ、ソーシャルメディアのコンテンツなどの非構造化データは、生の多様な形式で、より本物の行動パターンや複雑なセマンティクスを捉えます。非構造化データを処理・分析することで、企業はより強力な競争優位性を築き、データからより大きな価値を引き出すことができます。オブジェクトテーブルは、以下の機能を提供します:

  • テーブルインターフェイスを介して、OSS から非構造化データ (PDF、IMAGE、PPT など) を読み取ります。

  • 動的テーブルの増分更新Embedding 関数を組み合わせて、非構造化データを処理します。このアプローチでは、外部のエンベディングアルゴリズムを呼び出すことなく、エンベディングを直接 Hologres に格納し、ファイルの変更を増分的に検出して冗長な計算を削減し、計算効率を向上させます。

  • AI 関数 (ai_gen など) を使用して、非構造化データの推論と分類を実行します。また、ベクトル検索とフルテキストインデックスを組み合わせてデュアルパス取得を行い、非構造化データに対する包括的な分析および検索機能を有効にすることもできます。

Hologres のオブジェクトテーブルを AI 関数やその他の機能と組み合わせることで、データベースからデータを移動したり、外部サービスを呼び出したりすることなく、OSS に格納された非構造化データの処理、取得、分析ができます。これにより、データセキュリティを強化しつつ、ビジネス分析の範囲を拡大できます。

制限事項

  • この機能は Hologres V4.0 以降のバージョンでのみサポートされています。

    説明

    ご利用のインスタンスのバージョンが V4.0 より前の場合は、「インスタンスのアップグレード」をご参照ください。

  • オブジェクトテーブルは、PDF、PPT、およびイメージファイルの読み取りのみをサポートしています。ビデオまたはオーディオファイルはサポートしていません。

構文

オブジェクトテーブルの作成

  • オブジェクトテーブルは非構造化データの読み取り専用に設計されています。オブジェクトテーブルは固定列を使用するため、作成時に列を定義する必要はありません。

  • オブジェクトテーブルを作成した後、データをロードするには一度リフレッシュする必要があります。

CREATE OBJECT TABLE [IF NOT EXISTS] [schema_name.]<table_name>
WITH (
  -- Object Table-specific properties
  path = '<oss_path>',                           -- Required
  oss_endpoint = '<oss_endpoint>',           -- Required
  role_arn = '<role_arn>',                   -- Required
  
  -- General parameters
  [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 ディレクトリのパス。オブジェクトテーブルは、このディレクトリ内のすべてのファイルからメタデータを抽出します。例:oss://bucket/dir

    oss_endpoint

    はい

    OSS エンドポイント。クラシックネットワークのエンドポイントのみがサポートされています。リージョンごとのエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。例:oss-ap-southeast-1-internal.aliyuncs.com

    role_arn

    はい

    Alibaba Cloud RAM ロールの ARN。例:acs:ram::role-id:role/role-name。この情報を取得するには、Resource Access Management (RAM) コンソールにログインし[ID 管理] > Role ページに移動し、対象のロール名をクリックします。

  • パラメーターの説明

    以下のパラメーターはすべてオプションです。

    パラメーター名

    説明

    デフォルト値

    orientation

    オブジェクトテーブルのストレージフォーマット。ローストア、列ストア、行列ハイブリッドストアをサポートしています。詳細については、「テーブルストレージフォーマット:列ストア、ローストア、行列ハイブリッドストア」をご参照ください。

    column

    table_group

    オブジェクトテーブルのテーブルグループ

    デフォルトのテーブルグループ

    distribution_key

    ディストリビューションキー

    object_uri

    clustering_key

    クラスタリングキー

    object_uri

    storage_mode

    ストレージモード。hot (ホットストレージ) と cold (コールドストレージ) をサポートしています。詳細については、「データ階層化ストレージ」をご参照ください。

    hot

    event_time_column

    セグメントキー。詳細については、「イベント時間列 (セグメントキー)」をご参照ください。

    last_modified_at

    bitmap_columns

    ビットマップインデックス

    object_uri:auto,etag:auto

    dictionary_encoding_columns

    ディクショナリエンコーディング。詳細については、「ディクショナリエンコーディング」をご参照ください。

    object_uri:auto,etag:auto

    time_to_live_in_seconds

    テーブルのデータライフサイクル。

    3153600000

オブジェクトテーブルの表示

オブジェクトテーブルのクエリ

オブジェクトテーブルを作成した後、標準のテーブルと同様にクエリを実行できます。

SELECT * FROM <OBJECT_TABLE_NAME>;

オブジェクトテーブルは固定列を使用します。以下の表に、これらの列とその説明を示します:

列名

説明

object_uri

TEXT

特定の OSS ファイルパス。

etag

TEXT

ETag は各オブジェクトが生成されるときに作成され、一意です。特定のファイルコンテンツを識別します。

file

FILE

FILE は新しくサポートされた型で、JSON に似たフォーマットで詳細なメタデータを格納します。解析にはJSON 関数を使用します。コンテンツには以下が含まれます:

  • object_uri:オブジェクトパス。

  • etag:一意のオブジェクト識別子。

  • size:ファイルサイズ。

  • last_modified_at:最終更新日時。

  • owner_name:ファイル所有者。

  • object_source:OSS。

  • oss_endpoint:マップされた OSS エンドポイント。

  • object_table_id:対応するオブジェクトテーブル ID。

  • role_arn:対応する ARN。

metadata

JSON

カスタムメタデータ。

オブジェクトテーブルのテーブルスキーマの表示

  • 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>';

オブジェクトテーブルのリフレッシュ

オブジェクトテーブルを作成した後、データをロードするには一度リフレッシュする必要があります。現在、手動リフレッシュのみがサポートされています。次の構文を使用します:

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

オブジェクトテーブルの変更

テーブル名の変更またはスキーマの変更のみが可能です。次の構文を使用します:

-- テーブル名の変更
ALTER OBJECT TABLE [IF EXISTS] <table_name> RENAME TO <new_name>;
-- スキーマの変更
ALTER OBJECT TABLE [IF EXISTS] [<schema_name>.]<table_name> SET SCHEMA <new_schema>;

オブジェクトテーブルの削除

-- ゴミ箱が有効な場合、削除されたオブジェクトテーブルはゴミ箱に移動されます。
DROP OBJECT TABLE [IF EXISTS] <table_name> [FORCE];

データベースのゴミ箱が有効な場合、削除されたオブジェクトテーブルはゴミ箱に移動されます。復元コマンドを使用して回復できます。復元されたテーブルはオブジェクトテーブルのままです。詳細については、「テーブルのゴミ箱」をご参照ください。

ベストプラクティス

オブジェクトテーブルを動的テーブル、AI 関数、ベクトル検索、フルテキストインデックスと組み合わせて、非構造化データを自動的に処理、取得、分析します。詳細については、以下をご参照ください: