ByConity ELT 初体验
ByConity 是一款开源云原生数据仓库,可以满足用户的多种数据分析场景。ByConity 增加了 bsp 模式:可以进行 task 级别的容错;更细粒度的调度;基于资源感知的调度。希望通过 bsp 能力,把数据加工(T)的过程转移到 ByConity 内部,能够一站式完成数据接入、加工和分析。
体验步骤如下:
1、使用 SSH 工具登录到测试环境的 ECS 上。
2、运行 tmux new -s user001。
3、执行 clickhouse client --port 9010 -mn 进入 clickhouse。
4、使用测试用数据库 test_elt:use test_elt
。
5、设置数据库会话的方言类型为 ANSI:set dialect_type = 'ANSI'
。
6、查询如下 SQL,会因为内存限制而执行失败。
7、查询失败后,在失败的 SQL 最后加上设置后再次执行:
SETTINGS
bsp_mode = 1,
distributed_max_parallel_size = 12;
其中参数distributed_max_parallel_size
可以设置为 4 的其他整数倍(因为 Worker 的数量为 4)。
添加参数后执行成功。
8、执行如下查询,在执行成功的查询中,添加参数限制查询的最大内存使用量,如:
SETTINGS
max_memory_usage=40000000000;
(单位为 B,当前约合 37.25 GB)将内存限制为合适的值,引发 oom。
执行成功,再将内存调小为 30000000000。还是可以成功
执行成功,再将内存调小为 20000000000。还是可以。
内存调小为 2000000000,报错 OOM。
在失败的 SQL 最后加上设置后再次执行:
SETTINGS
bsp_mode = 1,
distributed_max_parallel_size = 12;
执行成功。
9、体验感受。
在 BSP 模式下,ByConity 支持对 TableScan 算子的并行度进行扩展,这有助于在资源有限的情况下实现对大表的处理。用户可以通过设置distributed_max_parallel_size
参数来控制 TableScan 的并行度,实现资源平铺的功能。
版权声明: 本文为 InfoQ 作者【阿泽🧸】的原创文章。
原文链接:【http://xie.infoq.cn/article/80f75cc2db721e5249c832244】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论