更新时间:2024-10-14 GMT+08:00
导入过程存储倾斜即时检测
导入过程中对DN导入行数进行统计,导入完成后计算倾斜率,超过一定阈值时,立即进行告警。倾斜率通过(DN导入行数最大值-DN导入行数最小值)/导入总行数计算。目前,只支持INSERT和COPY导入。
必须设置enable_stream_operator=on,确保计划下发到DN,DN一次性返回导入行数,从而可以在CN计算倾斜率。
使用方法
- 设置参数(表倾斜告警阈值table_skewness_warning_threshold和表倾斜告警最小行数table_skewness_warning_rows);
- 表倾斜告警阈值取值范围0~1,默认值为1,即关闭状态,取其他值时为开启状态。
- 表倾斜告警最小行数取值范围0~2147483647,默认值为100,000。当导入总行数超过该值与导入DN数之积时,才可能触发告警,从而不会在小数据量导入的场景进行无意义的告警。
1 2 3 4
show table_skewness_warning_threshold; set table_skewness_warning_threshold = xxx; show table_skewness_warning_rows; set table_skewness_warning_rows = xxx;
- 执行导入,使用INSERT或者COPY;
- 发现并处理告警,告警信息包括表名、最小行数、最大行数、总行数、平均行数、倾斜率,以及提示信息(检查数据分布或者修改参数)。
WARNING: Skewness occurs, table name: xxx, min value: xxx, max value: xxx, sum value: xxx, avg value: xxx, skew ratio: xxx HINT: Please check data distribution or modify warning threshold
父主题: 数据倾斜查询最佳实践