00:00
好,下节课我们是详细讲解了生产者的分区分配策略,那么这种分区分配策略不能满足所有的这种生产环境要求。在一些工作当中啊,有一些特殊场景。那比如说我们前面过来的数据,有非常非常多的数据,我们希望从这么多数据当中过滤出来,诶国际上知名的网站,比如说爱圭。那么过滤出来的艾特硅谷,我要把它发送到零号分区。那么不包含艾特硅谷的信息呢?诶,发送到一号分区。就实现这样一个功能。那这时候呢,就需要我们自己去自定义分析器来实现,那其实自定义分析器啊,也非常简单啊,那我们。复制一下。好,来到这里面呢,我们创建一个类。叫my part,然后呢,实现一个接口,就是parter接口。
01:00
奥特加飞车。诶,重写里面对应的方法,那这里面最核心的方法就是这个帕森方法。那这里对应的参数大家大概看一下啊,第一个呢是主题是吧,那你数据发生了哪个主题之后呢,是key以及value,那么这两个什么呢?这两个是序列化之后的T和序列化之后的Y流值,那这里面我们用这个就可以了啊啊以及这个啊。行,那我们来处理一下。首先你过来的数据。获取数据,你过来的数据啊,都是object类型对吧?哎,那我们把这个value拿过来处理它。卖了。第二他传过来的是不是实际类型啊,因为它传过来正常不是这样信息吗?二硅谷或者是哈喽是吧啊。转换一下。强转转成这个MSG。跟着他。
02:00
转成它之后,那下面我们进行一个判断,说if。这个mass values。Contains。如果里面包含对应的艾。那怎么办呢?把这个国际上知名的公司。那发送到零号分区,那零号分区我是不是得定一个变量啊。零变亮特。那这个part呢,发到零号分区,它就等于零。哎。哎,我们就给它发送到一号分区,不管你是谁的数据。好,那这个分区呢,放到这儿啊,别忘了修改。这不就OK了吗?那这个写完了,大家思考一个问题,你看这个地方呢,它是灰色代码。也就说,你这个自定义的分区器,如何跟我们前面的生产者产生爱恨情仇呢?那怎么办?好,那复制他权利名呗。Copy陈立明。
03:00
那我们拿到哪里哈,拿到这个这个吧,Call back partan啊来这里面。来到这里面来看一下。这个地方是采用的呃,最原始的topic和对应的value对吧,发送的,那么这个值在哪放呢?在最前面。关联。自定义分区七。点put,然后producer。很点,那这里面哪一个参数是我们管分区的呢?你打一个P。那这里面就是part class。把它替换,因为默认它走的是default哈。赶紧来。这就是我们自定义分区器的全类名,往这一放,那么这个分区器就跟我们这个代码产生了关联。那它有没有用呢?试一下呗,好。那么我们接下来发送的这份数据里面是不包含at规模啊,那应该发送到哪一个分区呢?
04:02
是不是应该发生到零二分之,那试一下是不是。你看50条数据都发往了零号分区,那好,那这边我们不让他报股。我发送哈,那你说这个哈,它没有阿股,应该发送到一号分区。看看行不行啊。你看现在这波数据就已经发送到一号分区了啊,这个呢,就是自定义分析器来实现我们想要的一些特殊功能,其实在企业里面啊,呃,除了像这种过滤这个艾特相关的数据,其实还可以过滤一些,比如说张数据。哎,我在生产环境当中啊,这波数据呢,我根据我的这个判断说,诶这个校验规则不符合要求的,我发往到指定的这个分区里面进行处理,哎,这也是可以的啊,所以制定分析器呢,还是非常重要的。
我来说两句