00:00
好,上节课我们是详细讲解了一个消费者去消费某一个主题对应的数据。那么在生产环境当中还有这样一个场景,还记得吗?我们将生产者对应的数据发往某一个特定的分区。那比如说在前面有一张订单表。我希望啊,将订单表所有的数据发往到某一个分区里面。怎么做的还记得不?是不是我们在创建这个K的时候,是不是指定这个key的名称就是这个订单表的名字,哎,那这样订单表里的数据就能发往到指定的某一个分区。那既然生产者可以把数据发到某一分区,那么必然要求消费者可以指定去消费某一个分区的数据,那这样效率是不是更高一些?好,那下面呢,我们就来实现一下消费某一个主题下的特定分区的数据,那怎么实现呢?写一下。
01:03
再给大家写最后一遍啊,其他的代码我就不再写了,那下面先写这个步骤,第一步。创建一个消费者。第二步,订阅。主题对应的分区,哎,这回呢是地域分区了啊,上次呢是地域主题。那下面呢,就是消费数据。再补一个第零步。配置OK。那这样呢就OK了,我们先写一下。一个。好不好,很凶猛。是罪。那我需要一个。Purpose啊,属性配置信息,那就有一个。一个parties。小包好,那把它呢,快速的添加到这里面去。打包走。
02:01
那下面呢,写必要的配置信息,第一个链接。第二个序列化啊,叫反序列化。第三个是主ID啊,增加一个主ID。好,那我们配置一下。Parties。不打。开熊猫啃啊,第2BOAT up serve啊。Hi doop102 9092,再来一个hi doop103。9092。OK,连接上,连接上之后啊,进行一个反序列化。点不。Consumer can f啊点这个呢是K。反系的话。反序的话啊,点class.get name。OK,再来一个。点铺的。
03:01
开小门开飞点歪溜。那这样呢,这个代码写完,那主ID也不要忘了,第2PUT。格式,ID。那我们给它起个名字啊,仍然叫这个test。就可以了。那下面呢,这里面是订阅某一个主题对应的分区。那这个怎么定义呢,还是。卡拉克猫点之前呢,我们调用的是这个啊script对吧,那这次呢,不调它了,调谁呢?哎,调这个。你会发现这里面呢,是传入一个集合,那集合的类型是什么呢?是topic partition,比如说某一个主题对应的分区,好,那就放一它,那这里面很显然我们需要一个集合,那就拗一个。Release,只不过这里面存放的内容是对应的,叫topic part。是他吧,哎,好,拿过来。
04:03
小。那这个呢,就叫它吧。那topic partan点,那我需要添加一个topic。那就拗一个。Partition。那这里面需要传输第一个参数呢,就是某一个主题,第二个参数呢,是对应的主题的分区啊,那比如说我们消费的是for主题。那对应的分区呢,假如说我们现在消费分区零吧,啊,分区零的数据。那把它拿过来。OK,那这个呢,就已经指定好了,消费某一个主题对应的分区,那下面开始消费数据,Well。好,那下面这块呢,是consumer点点什么呢?哎,我这里面开始进行一个拉取数据。疫苗。拉回来一波数据,那对这这份数据呢,进行一个循环。
05:04
那system out第二。那现在呢,就已经写完了,那写完之后呢,我们进行一个测试啊运行。哎,运行起来了,那下边呢,我们往这个主题里面发送数据,那我用哪一个发呢?用前面我们的生产者当中是不是可以指定某一个分区进行发送数据,而且带回调的就这个啊。那往下看一下,现在呢,我是往for的主题CTRL加P。那我指定一下分区,我往分区零发数据好。问,距零,那你后面还需要额外指定一个K对吧?那这个K呢?就来一空,哎,这样就可以了啊,也就说往分区零里面发送对应的哈,啊对应的数据,那试一下呗,这50个有点多啊,好点吧,五个吧。好,我已经向分区零里面发送了五条数据,看这边有没有接收到啊啊。
06:04
你看一下这里面对应的这个分区零是吧?哎,分区零对应的数据来看一看Y流值对不对。都是hello吧,哎,这样就OK了啊行,那这个,那我下面往分区一里面发,看行不行,看能不能收到,正常情况下往分区一里面发这个消费者数接收不到数据啊就对了啊,那试一下是不是。分之一,哎,已经发送完毕,看一下有没有数据,数据没有啊,哎,这个呢,就是消费某一个主题特定分区的一个数据。
我来说两句