配置ClickHouse对接OBS源文件
本章节主要介绍使用ClickHouse对接OBS进行文件读写。
使用S3表函数
- 登录主OMS节点。
- 执行以下命令获取OBS内的存储数据。
select * from S3(path, [ak, sk,] format, structure, [compression])
- path:访问域名/OBS文件路径,登录OBS管理控制台,在左侧导航栏单击“并行文件系统”,在“并行文件系统”页面单击对应的文件系统名称,在“文件”页面单击文件名称,文件“链接”即path路径,如图1所示。
- ak:参数可选,具备访问OBS权限的ak。
- sk:参数可选,具备访问OBS权限的sk。
- format :文件的格式。
- structure:表的结构。
- compression:参数可选,压缩类型。
使用S3表引擎
- 登录主OMS节点。
- 执行以下命令创建表。
CREATE TABLE test1_s3 ('name' String, 'age' int)
ENGINE = S3(path, [ak, sk,] format, [compression])
- 执行以下命令查询表。
select * from test1_s3;
修改Manager配置
- 登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 配置 > 全部配置”。搜索参数项“clickhouse-config-customize”并添加参数值。参数值的添加参考下表。
参数
值
s3.endpoint-name.endpoint
OBS桶地址
s3.endpoint-name.access_key_id
OBS ak,获取方法请参考如何获取访问密钥AK/SK
s3.endpoint-name.secret_access_key
OBS sk,获取方法请参考如何获取访问密钥AK/SK
- 对于OBS直接分享出来的URL,一般是带HTTPS的,如果不能直接访问,请按如下步骤修改配置。
登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse > 配置 > 全部配置”。搜索参数项“clickhouse-config-customize”并添加参数值。参数值的添加参考下表。
参数
值
openSSL.client.loadDefaultCAFile
true
openSSL.client.cacheSessions
true
openSSL.client.disableProtocols
sslv2,sslv3
openSSL.client.preferServerCiphers
true
openSSL.client.invalidCertificateHandler.name
AcceptCertificateHandler
- 修改完成后,单击“保存”。