Apache Hive Tables
Apache Hive によってカタログ化されたデータは、コピーせずに TiDB Cloud Lake からクエリできます。Hive Metastore を TiDB Cloud Lake のカタログとして登録し、テーブルデータを保持するオブジェクトストレージを指定すると、それらのテーブルを TiDB Cloud Lake ネイティブのオブジェクトであるかのようにクエリできます。
クイックスタート
Hive Metastore を登録する
CREATE CATALOG hive_prod TYPE = HIVE CONNECTION = ( METASTORE_ADDRESS = '127.0.0.1:9083' URL = 's3://lakehouse/' ACCESS_KEY_ID = '<your_key_id>' SECRET_ACCESS_KEY = '<your_secret_key>' );カタログを確認する
USE CATALOG hive_prod; SHOW DATABASES; SHOW TABLES FROM tpch;Hive テーブルをクエリする
SELECT l_orderkey, SUM(l_extendedprice) AS revenue FROM tpch.lineitem GROUP BY l_orderkey ORDER BY revenue DESC LIMIT 10;
メタデータを最新の状態に保つ
Hive のスキーマやパーティションは、TiDB Cloud Lake の外部で変更されることがあります。その場合は、TiDB Cloud Lake にキャッシュされたメタデータを更新してください。
ALTER TABLE tpch.lineitem REFRESH CACHE;
データ型のマッピング
クエリ実行時、TiDB Cloud Lake は Hive のプリミティブ型を最も近いネイティブ型に自動変換します。
STRUCT のようなネストされた構造は、VARIANT 型として公開されます。
注意事項と制限
- Hive カタログは TiDB Cloud Lake では読み取り専用です(書き込みは Hive 互換エンジン経由で行う必要があります)。
- 基盤となるオブジェクトストレージへのアクセスが必要です。認証情報は 接続パラメータ を使用して設定してください。
- テーブルレイアウトが変更された場合(たとえば新しいパーティションが追加された場合)は、クエリ結果を最新の状態に保つために
ALTER TABLE ... REFRESH CACHEを使用してください。