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

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

最終更新日:Dec 24, 2025

Hologres V4.0 以降では、オブジェクトテーブルをサポートし、Object Storage Service (OSS) から非構造化データとそのメタデータにアクセスできます。このトピックでは、オブジェクトテーブルを使用するための構文と例について説明します。

概要

人工知能の時代において、非構造化データは技術革新の重要な推進力です。従来のデータベースにおける構造化情報と比較して、テキスト、イメージ、音声、動画、ソーシャルメディアコンテンツなどの非構造化データは、その生の多様な形式の中に、より本質的な行動パターンと複雑なセマンティクスを含んでいます。非構造化データを処理・分析することで、企業はより強力な競争優位性を築き、データからより大きな価値を引き出すことができます。オブジェクトテーブルの機能は次のとおりです。

  • OSS から PDF、イメージ、PPT ファイルなどの非構造化データをテーブル形式で読み取ります。

  • 動的テーブルの増分更新および埋め込み関数と統合して、非構造化データを処理します。外部の埋め込みアルゴリズムを呼び出すことなく、Hologres 内で非構造化データの埋め込みを生成し、格納できます。この機能により、ファイルの変更を増分的に識別できるため、冗長な計算が削減され、効率が向上します。

  • ai_gen などのAI 関数と統合して、非構造化データに対する推論と分類を実行します。また、ベクトル検索と全文検索を組み合わせてデュアルチャネル検索を行い、非構造化データを分析・検索することもできます。

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>',                           -- 必須
  oss_endpoint = '<oss_endpoint>',           -- 必須
  role_arn = '<role_arn>',                   -- 必須
  
  -- Common 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

    はい

    RAM ロールの Alibaba Cloud リソース名 (ARN)。例:acs:ram::role-id:role/role-nameRAM コンソールにログインし、[ID 管理] > [ロール] ページに移動し、対象のロール名をクリックして ARN を取得できます。

  • オプションパラメーター

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

    パラメーター

    説明

    デフォルト値

    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

    テーブルデータの生存時間 (TTL)。

    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 関数、ベクトル検索、全文検索などの機能と組み合わせることで、非構造化データの処理、取得、分析を自動化できます。詳細については、以下をご参照ください。