📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

Apache Hive Tables



TiDB Cloud Lake 可以直接查询由 Apache Hive 编目管理的数据,而无需复制数据。将 Hive Metastore 注册为 TiDB Cloud Lake catalog,指向存放表数据的对象存储,然后即可像查询原生 TiDB Cloud Lake 对象一样查询这些表。

快速开始

  1. 注册 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>' );
  2. 浏览 catalog

    USE CATALOG hive_prod; SHOW DATABASES; SHOW TABLES FROM tpch;
  3. 查询 Hive 表

    SELECT l_orderkey, SUM(l_extendedprice) AS revenue FROM tpch.lineitem GROUP BY l_orderkey ORDER BY revenue DESC LIMIT 10;

保持元信息最新

Hive schema 或 partition 可能会在 TiDB Cloud Lake 之外发生变化。出现这种情况时,请刷新 TiDB Cloud Lake 的缓存元信息:

ALTER TABLE tpch.lineitem REFRESH CACHE;

数据类型映射

查询运行时,TiDB Cloud Lake 会自动将 Hive 原语类型转换为最接近的原生类型:

Hive 类型TiDB Cloud Lake 类型
BOOLEANBOOLEAN
TINYINT, SMALLINT, INT, BIGINT整数型类型
FLOAT, DOUBLE浮点类型
DECIMAL(p,s)DECIMAL
STRING, VARCHAR, CHARSTRING
DATE, TIMESTAMPDATETIME
ARRAY<type>ARRAY
MAP<key,value>MAP

STRUCT 等嵌套结构会通过 VARIANT 类型呈现。

注意事项和限制

  • 在 TiDB Cloud Lake 中,Hive catalog 为只读(写入必须通过兼容 Hive 的引擎完成)。
  • 需要能够访问底层对象存储;请使用连接参数配置凭证。
  • 每当表布局发生变化(例如新增 partition)时,请使用 ALTER TABLE ... REFRESH CACHE 以保持查询结果为最新。

文档内容是否有帮助?