Hive
Not supported in ClickHouse Cloud
Hive引擎允许您对HDFS Hive表执行SELECT
查询。当前,它支持以下输入格式:
-
Text: 仅支持简单标量列类型,除
binary
外 -
ORC: 支持simple标量列类型,除
char
外;仅支持复杂类型如array
-
Parquet: 支持所有简单标量列类型;仅支持复杂类型如
array
创建表
请参阅 CREATE TABLE 查询的详细描述。
表结构可以与原始Hive表结构不同:
- 列名应与原始Hive表中的名称相同,但您可以选择这些列中的某些列并以任意顺序使用,也可以使用从其他列计算的别名列。
- 列类型应与原始Hive表中的类型相同。
- Partition by 表达式应与原始Hive表一致,且 partition by 表达式中的列应包含在表结构中。
引擎参数
-
thrift://host:port
— Hive Metastore 地址 -
database
— 远程数据库名称。 -
table
— 远程表名称。
使用示例
如何为HDFS文件系统使用本地缓存
我们强烈建议您为远程文件系统启用本地缓存。基准测试显示,启用缓存后速度几乎提高2倍。
在使用缓存之前,请将其添加到 config.xml
- enable: 如果为true,ClickHouse启动后将为远程文件系统(HDFS)维护本地缓存。
- root_dir: 必需。存储远程文件系统的本地缓存文件的根目录。
- limit_size: 必需。本地缓存文件的最大大小(以字节为单位)。
- bytes_read_before_flush: 控制从远程文件系统下载文件时,在向本地文件系统刷新之前读取的字节。默认值为1MB。
当ClickHouse启用远程文件系统的本地缓存启动时,用户仍然可以选择在其查询中使用 settings use_local_cache_for_remote_storage = 0
来不使用缓存。默认情况下,use_local_cache_for_remote_storage
为 1
。
查询Hive表的ORC输入格式
在Hive中创建表
在ClickHouse中创建表
在ClickHouse中创建从上述Hive表获取数据的表:
查询Hive表的Parquet输入格式
在Hive中创建表
在ClickHouse中创建表
在ClickHouse中创建从上述Hive表获取数据的表:
查询Hive表的文本输入格式
在Hive中创建表
在ClickHouse中创建表
在ClickHouse中创建从上述Hive表获取数据的表: