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-name。RAM コンソールにログインし、 ページに移動し、対象のロール名をクリックして 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 関数を使用して解析できます。その内容には以下が含まれます。
|
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 関数、ベクトル検索、全文検索などの機能と組み合わせることで、非構造化データの処理、取得、分析を自動化できます。詳細については、以下をご参照ください。