跳转到主要内容
Hive 引擎 允许对 HDFS Hive 表执行 SELECT 查询。目前支持以下输入格式:
  • Text:仅支持简单标量列类型,binary 除外
  • ORC:支持除 char 外的简单标量列类型;仅支持 array 等复杂类型
  • Parquet:支持所有简单标量列类型;仅支持 array 等复杂类型

创建表

请参阅 CREATE TABLE 查询的详细说明。 表结构可以与原始 Hive 表的结构不同:
  • 列名应与原始 Hive 表中的列名一致,但你也可以只使用其中部分列,且顺序可以任意;还可以使用一些由其他列计算得出的别名列。
  • 列类型应与原始 Hive 表中的列类型相同。
  • Partition by 表达式应与原始 Hive 表保持一致,并且该表达式中涉及的列应包含在表结构中。
引擎参数
  • thrift://host:port — Hive Metastore 地址
  • database — 远程数据库名称。
  • table — 远程表名称。

使用示例

如何在 HDFS 文件系统中使用本地缓存

我们强烈建议为远程文件系统启用本地缓存。基准测试表明,启用缓存后速度几乎可提升 2 倍。 使用缓存前,请先将其添加到 config.xml
  • enable: 如果为 true,ClickHouse 会在启动后为远程文件系统 (HDFS) 维护本地缓存。
  • root_dir: 必填。用于存储远程文件系统本地缓存文件的根目录。
  • limit_size: 必填。本地缓存文件的最大大小 (以字节为单位) 。
  • bytes_read_before_flush: 控制从远程文件系统下载文件时,在刷写到本地文件系统之前可读取的字节数。默认值为 1MB。

使用 ORC 输入格式查询 Hive 表

在 Hive 中创建表

在 ClickHouse 中创建表

在 ClickHouse 中创建一个表,用于从上面创建的 Hive 表中检索数据:

使用 Parquet 输入格式查询 Hive 表

在 Hive 中创建表

在 ClickHouse 中创建表

在 ClickHouse 中创建一个表,用于从上文创建的 Hive 表中检索数据:

使用 Text 输入格式查询 Hive 表

在 Hive 中创建表

在 ClickHouse 中创建表

在 ClickHouse 中创建一个表,用于从上面创建的 Hive 表中检索数据:
最后修改于 2026年7月3日