温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好,接下来呢,我们来看一下生产经验,数据有序。啥意思呢?是这样,我们希望啊,生产者这边发送过来的数据发送到这儿,那么我消费者消费到的数据仍然是有序的。是这样。那好,那为什么会有一个有序的问题呢?主要原因是因为我们产生了一个叫多分区。那如果你有多个分区的话,那这个生产者往这里面发一条条发。你发送过来之后,这可是三个分区啊。那你消费者消费三个分区的数据。他能是有序的吗?保证不了啊。那这里面在生产环境当中,如果你想让消费过来的数据到这里面,数据是有序的,怎么做呢?叫单分区内有序,你看每一个分区内部它都是有序的,比如说一批批过来的。那有些这个企业说不行,我就要求多分区,还得有序,那怎么做到呢?
01:04
哎,有这样一个情况啊,那其实呢也可以做到,只不过呢,效率要低一些。怎么做?我把每一个分区的数据都拉到这儿。然后他比如说他拉过来,我再来一波数据,再拉过来。这个呢,再拉过来,我把所有数据都拉到消费者,这之后我是统一来一个全排序。那这个事儿拍完戏之后,数据不就有序了吗?啊,那这个呢,未来我们在学这个Spark和flink的时候啊,会有一个窗口的概念,把所有的数据都拉过来,拉到这个窗口里面,统一排好序之后再往后走,那这是可以的,但是这样呢,引申出来一个问题,就是你说要等啊,等所有数据都到齐了之后,是不是再进行一个排序?啊,那其实效率呢,还不如说我就创建一个分区,那保证单分区内所有过来的数据都是有趣的。这不就完了?所以这是数据有序,那么数据有序啊。
02:03
光单分区还不太行啊,因为这里面有一个叫有条件的,那至于有什么条件,我们在下节课再给大家讲。
我来说两句