通过跨源表向CloudTable Hbase表导入数据,executor报错:RegionTooBusyException
问题现象
客户通过DLI跨源表向CloudTable Hbase导入数据,原始数据:HBASE表,一个列簇,一个rowkey运行一个亿的模拟数据,数据量为9.76GB。导入1000W条数据后作业失败。
原因分析
- 查看driver错误日志。
- 查看executor错误日志。
- 查看task错误日志。
结论:rowkey过于集中,出现了热点region。
处理步骤
- Hbase做预分区。
- 把rowkey散列化。
建议与总结
建议DLI在写入数据时也将数据离散化,避免大量数据写入同一个regionServer,同时,在insert语句后增加distribute by rand()。