Hadoop发生数据倾斜时怎么定位是由哪些数据引发的
在运行MR任务时,数据的key分布不均会引发数据倾斜,但是要怎么才能定位到是哪些key引起的数据倾斜呢?
举一个例子,在word count中,如果发生了数据倾斜,怎么确定是哪些单词引发了数据倾斜呢?对这些单词引发的数据倾斜该怎么处理?
网上搜的关于数据倾斜的处理都是增加reduce个数,增大reduce任务的JVM内存,重新设计key,重新设计partitioner,使用combiner等。没有结合实例的讲解,有些地方还是弄不明白,比如重新设计key这种方法,对于wordcount这个例子一直想不明白具体要怎么操作。
还有很重要的一点是,没有讲关于怎么定位是哪些数据引发了数据倾斜的方法,希望了解的朋友帮忙解惑,十分感谢!