为了更快的定位您的问题,请提供以下信息,谢谢
【详述】问题详细描述
以下sql我想统计一下iceberg数据湖中 商品链接一共有多少个G的数据, 但是统计不出来.
有没有什么参数可以控制内存消耗低一点 跑的慢一点也行, 不能查不出来数据.
当前参数: /*+ SET_VAR(“chunk_size”= ‘1’, “enable_phased_scheduler”= ‘true’, “phased_scheduler_max_concurrency”= ‘1’, “pipeline_dop”= ‘1’, “connector_scan_use_query_mem_ratio”= ‘0.01’) */
shuffle 分区计算应该不会出现这种内存溢出的问题吧.
比较奇怪的是监控上显示query MEM 大于 Jemalloc Allocated Mem
mysql> /*+ SET_VAR("chunk_size"= '2', "enable_phased_scheduler"= 'true', "phased_scheduler_max_concurrency"= '1', "pipeline_dop"= '1', "connector_scan_use_query_mem_ratio"= '0.05') */ select sum(length(product_image_link)) from ads_fg_product_metric_stat_ext_info_f;
ERROR 1064 (HY000): Memory of default_wg exceed limit. Pipeline Backend: saas-hq-node01, fragment: c68cec82-fce5-11f0-a575-00163e253cf0 Used: 18408262904, Limit: 18345885696. Mem usage has exceed the limit of query pool: BE:10003
mysql> /*+ SET_VAR("chunk_size"= '1', "enable_phased_scheduler"= 'true', "phased_scheduler_max_concurrency"= '1', "pipeline_dop"= '1', "connector_scan_use_query_mem_ratio"= '0.01') */ select sum(length(product_image_link)) from ads_fg_product_metric_stat_ext_info_f;
ERROR 1064 (HY000): Memory of default_wg exceed limit. get chunk from scanner Backend: saas-hq-node02, fragment: 33973381-fce6-11f0-a575-00163e253cef Used: 18357459440, Limit: 18345885696. Mem usage has exceed the limit of query pool: file = s3a://yuce-saas-datalake/iceberg/saas_hq_datalake/ads_fg_product_metric_stat_ext_info_f_1752843468817/data/76f35a80-fc6d-11f0-b777-00163e253d3a_0_0_91.parquet: BE:10002
【背景】做过哪些操作?
【业务影响】
【是否存算分离】
【StarRocks版本】例如:3.3.19
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】为了在解决问题过程中能及时联系到您获取一些日志信息,请补充下您的联系方式,例如:社区群16-可乐鸡 或者邮箱,谢谢
【附件】
- fe.log/beINFO/相应截图
- 慢查询:
- Profile信息,获取Profile,通过Profile分析查询瓶颈
- 并行度:show variables like ‘%parallel_fragment_exec_instance_num%’;
- pipeline是否开启:show variables like ‘%pipeline%’;
- be节点cpu和内存使用率截图
- 查询报错:
- query_dump,怎么获取query_dump文件
- be crash
- be.out
- coredump,如何获取coredump
- 外表查询报错
- be.out和fe.warn.log
