ClickHouse启用Brotli压缩:查询S3 Parquet数据报错及启用方法
ClickHouse Brotli压缩支持问题解答
官方版本是否内置Brotli压缩支持?
官方默认编译的ClickHouse(包括你使用的23.2.1版本)未内置Brotli压缩格式的解析支持。Brotli并非ClickHouse默认编译选项中的启用组件,因此直接使用官方预编译包读取Brotli压缩的Parquet文件时会触发NotImplemented: Support for codec 'brotli' not built错误。
如何启用Brotli支持?
必须通过源码编译ClickHouse并开启Brotli编译选项来实现,步骤如下:
1. 安装Brotli开发依赖
根据操作系统安装对应的Brotli开发库:
- Debian/Ubuntu系统:
apt update && apt install libbrotli-dev -y - RHEL/CentOS系统:
yum install brotli-devel -y
2. 从源码编译并启用Brotli
# 克隆ClickHouse源码(包含子模块) git clone --recursive https://github.com/ClickHouse/ClickHouse.git cd ClickHouse # 创建编译目录 mkdir build && cd build # 配置cmake,开启Brotli支持 cmake -DENABLE_BROTLI=ON .. # 编译(-j后接CPU核心数,加速编译) make -j$(nproc)
3. 验证Brotli支持是否生效
编译完成后启动ClickHouse服务,执行以下查询验证:
SELECT name, value FROM system.build_options WHERE name = 'ENABLE_BROTLI';
若返回结果中value为ON,则说明Brotli压缩支持已成功启用,此时即可正常读取Brotli压缩的Parquet文件。
内容的提问来源于stack exchange,提问作者arch DJ
相关产品推荐
相关产品推荐

