00:00
好了啊,下面我们就来看一下,呃,我们现在要去做的事啊,那就是这个实时计算。OK吧,行,那首先你要先明确什么叫这个实时计算。啊,那我们对比的这个你离线计算的一个定义来讲的话,你看离线计算是通过P的方式来去处理什么已知的所有的数据啊,那我的实时计算就是什么呀,它是采用流处理的方式,是流的方式。对吧?啥叫流的方式呢?你从这个字面上也能够理解,你叫实时计算,什么叫实时呢?就是你当下来的数据,那我当下就要怎么进行处理,而且这个数据呢,它并不是说来了以后就不来了,对吧?它一直是一个流动的数据,就是这个数据呢,一直是什么流过来的,对不对?那你流过来以后我就要帮你做处理,你流过来以后我就要帮你做处理,那么这种处理方式我们叫流处理的方式。对吧,所所以说啊,你的实时计算和你的这个离线计算,他们的处理方式是不一样的。而且我们所计算的数据呢?
01:01
它的这个这个呃,计算的什么,这个数据的这个范围也是不一样的啊,你这个离线计算呢,它算的是一般来说啊,算的都是什么前一天的数据,而我们的这个实时计算,我们都是计算当日的数据。你就想吧,你的数据是源源不断什么产生,然后留过来的,只要你过来的数据,我就要什么进行处理,你过来我就要进行处理,这个是容不得你等待的,你说那我等吧,对吧,我等上这个一个小时两个小时,我再去做这个处理,那你还做啥事谁呀,你直接做离线得了,对吧,你把这个离线的这个呃,频率什么加快一点,我也能够什么做到这个半个小时,一个小时给你计算一次。对不对,那就没必要搞实实了,是不是啊,所以说我们这个实时计算一定是什么计算你这个当日的数据啊,计算当日数据,而且是你过来以后我就要帮你做计算,过来以后我就要帮你做计算。啊,当然啊,这个我们也可以去划分啊,你是来一条算一条。对吧,还是说我们也可以做成这个小批次,比如说诶,我攒够这个五秒钟的数据啊,当然这个批次你不能很大哈,比如那我攒够半半天的数据,我也把它当成是一个批次。
02:07
这也没毛病啊,但是我觉得你要半天你算一次,你还做啥是谁啊?对吧,老板说我等着看结果呢,你说你这个下午再来看吧。是不是啊,你的黄花菜都凉了对吧,是吧,所以说啊,这个我们计算这个当日数据是你这来一条我上一次啊,还是说这个来一个小批次,比如说五秒钟一个批次啊,或者什么三秒钟一个批次,我上一次。对不对啊,或者说呢,诶,我可以什么适当的什么开一个窗口,这个窗口的范围呢,可能会更大一点,比如说我五秒钟一个批次,对不对,那我的窗口的话,比如说我可以支持你什么三个批次的数据,然后做这个计算。对不对,像这种情况,我们都可以把它定义为是一个这个这个实时计算啊,你要说这个笼统一点来说,只要你是算当日的数据,我们都可以把它归到这个实时计算里面。能明白吧,归到这个实计算啊,但如果讲这个具体点来划分啊,呃,我们一般对这个实时计算的一个,这个就是,呃,它的这个就是计算的一个什么时效啊,是有这个要求的,比如说你可以在什么这个就是一分钟啊,就是一分钟吧,一分钟以内啊,一分钟以内,然后能够算出结果来,这个计算我们都可以把它定义为是一个实时计算,如果说你这个超过这个一分钟了。
03:20
对吧,比如说这个五分钟了,十分钟了,甚至于什么一个小时级别了,对吧,那你能不能定义为这个实时计算呢?呃,也可以啊,但是我们可能会把它什么定义为是一种叫准实时计算。就你这个时效性更长了。对吧,所以说我们也会听到有一些什么叫什么准实时计算,对吧,它其实本质上啊,还是使用这个离线框架呢,通过批处理的方式来完成的,比如说我就讲过什么一个小时的数据,对吧,或者什么攒够这个十分钟的数据,20分钟的数据,然后呢,进行一个计算。这种产品呢,一般都是过度的产品啊,不能算是这个真正的这个实时计算。能理解吧,啊,那既然说到这个点上了,给大家去说一下啊,其实我们现在所用的这个Spark streaming啊,他要是从这个。
04:07
他是从这个什么,就是理论角度来讲啊,他也不能称得上是一个实时计算的一个框架。因为他并不能够做到来一条算一条。能听到吧,他并不能够做到来一条算一条,它其实是以什么是以这个V批次的方式来去进行计算的,就是我攒过三秒钟的数据,或者五秒钟的数据,对吧,然后呢,帮你什么做一次计算。啊,所以说相对于这个来一条算一条啊,他还是有点差劲。明白了吧,啊好,所以说现在我们企业中啊,再去做这个实时计算的时候,有用这个Spark streaming的啊,因为其实这个三五秒钟啊,这个做实时计算也可以,因为我们的计算其实并没有那么高的要求,说你必须在什么这个秒级内给我什么响应,对吧?啊没有那么高的要求,而且呢,给大家说一下,你这个企业中是很难做到这个秒级内就给你什么响应这个结果的。越大的公司越难做到。
05:01
啊,越大的公司越难做到,为什么呢?因为你实时计算,你你要去考虑你这个中间的一个计算过程。对吧,你数据呢,诶,比如说你这个进到卡不卡,对吧,从你这个数据产生进到卡不卡,你得消耗时间吧。对吧,那我从你这个卡不卡把数据拿出来,我拿出来以后对这个数据呢,做处理,做各种各样的处理。对不对,各种各样的处理,你这个得需要需要时间嘛,比如说我数据要什么采集分流了是吧,我的数据要什么去去做这个整合了啊,我的数据要什么去写入到这个某个组件了。对吧,那假如说你这个中间的处理过程,你得需要时间吧。是吧,然后你在处理过程中呢,你可能还要什么去外联一些这个产品,比如说外联一下red对吧,外联一下这个什么MY对不对,比如说h base等等一些,那你这个连接你得需要时间吧。对吧,然后呢,你最后呢,你比如说你把这个数据都处理好了,你放到我们最后这个ES中吧,啊或者什么放到这个别的主件里面啊,就是我们一般是呢,放到这个o lap啊,就是面向分析型的这个存储介质,好,那你放进来以后,他再去帮你做这个数据的一个分析,我得需要时间吧。
06:06
就统计计算,比如说我这个分个组求个和,那我得需要时间吧。对吧,那最后呢,再把它怎么展示到这个图表中,哎,你从你到你什么看到这个结果,你就想想这个整个过程中,只要你有某个环节稍微有点延迟。对吧,那这个。几秒钟就出去了。所以说你想做到这个内这个事情其实是很难的。所以大家这个一定不要有一个误区啊,说那我这个实际上就特别特别的快啊,不不一定的啊,他可能什么几秒钟啊,五秒钟以内或者十秒钟以内啊,我都是可以接受的。对吧,那么至于你看到的那个结果啊,大家比如说诶,那我看到人家那个实时计算那个大屏展示对吧?呃,那个数字什么一直在滚动。比如说那个什么淘宝双11对不对啊,那个成交额那数字一直在滚动,一直在滚动。滚动归滚动,但是呢,你敢保证它滚动的就是我当下,就当前这一秒钟的这个计算结果吗?可能不是,他可能滚动的这个结果是五秒钟之前的数据。
07:05
对吧,目前这五秒钟的数据,他还在什么处理过程中,还没有给你展示过来,它是有一定的这个延迟的。能明白我的意思吧,它是有一定的延迟的啊,所以说呢,这个实时计算啊,大家一定要抛开一个误区啊,就是它一定能够做到什么多快多快多快啊,这个其实不一定的。啊,你能做到这个秒级啊,对吧,就是五秒五秒级或者什么,甚至于五秒到什么到这一分钟级啊,我觉得这个都是很OK的。那如果说你想尽可能的追求快,比如说诶,我就想什么在这个秒级内,毫秒级帮我这个响应结果能不能行呢?理论上也行,但是你一定要什么去牺牲一点东西,牺牲什么东西呢?比如说这是我们整个中间的一个处理过程啊,经过各种各样的计算对不对啊,然后最后呢,什么到这个处理结果,如果说你想让这个整个整个什么呀,这个处理的更加的快一点,那我告诉你中间的这个处理过程,你要牺牲很多,就是能把不要的东西都把它砍掉,都不要。
08:02
你能明白,能外联的东西我都不外联了。对吧,因为你外联,比如说你连个red,你连个买烧烤,那你开连接。对吧,然后呢,连连上,然后呢去查数据。这都是需要时间的。稍微比如说你连连的时候,你们网络出现了波动,那这个几秒钟就过去了。明白,你把这些东西都把它砍掉,所以说你这个如果你想做到什么更加的快,那你就要去牺牲很多计算过程,你的计算就一定不可能很复杂,如果你的只要你计算是很复杂的,那你就甭考虑说诶我能够什么达到多快。对吧,啊,这个是很难的啊同学们。啊,所以说呢,这个实时计算啊,你要有一个这个重新啊,对它有一个这个全新的一个认识。明白了吧啊,实时计算啊,它并不是说这个这个这个快到什么程度啊,他也是有一个量级的啊,就是一般业界来讲的话,就刚刚说的就是这个秒到这个一分钟级吧,对吧,到这个一分钟几啊我都是可以接受的。
09:01
好吧,啊,那如果说比这个更快一点的话呢,呃,就看你怎么定义了,你可以什么把它定义成这个什么准实时。对吧,啊,或者什么定义成这个离线啊,我觉得都可以啊,看你怎么去定义它啊,OK啊,这是我们这个实时计算的一个介绍啊好,然后那个下面的话也是啊,给大家这个呃,总结一下它的一些什么,这个计算的一些特点。啊,实时计算特点,来,我们一起来这个看一看啊。呃,首先第一个是局部计算。啊,第一个是这个局部计算。啥叫局部计算呢?就是我们每次计算的时候呢,我们只能够看到你当前。流过来的数据。因为啊,你一定要想明白,它的数据是源源不断在流动的啊,就是相当于我有什么很多数据,我一直什么在这个流里面往过去流呢,对吧,那比如说你流到这以后呢,我要开始计算了,那我计算的时候呢,我只能看到我当前的诶这个批次中的数据。对不对,好,那如果说你要用这个flink来去做,那你可能什么会做的更加的细一点,它是可以做到每条数据的,就你来一条数据,我给你算一次,来一条数据我给你算一次,好,那对于我们这个Spark来讲的话,这个是他很难做到的,我们只能是以这个什么V批次或者什么小窗口的这个数据范围进行计算,比如说诶,这个五秒钟一个批次。
10:15
或者说呢,我稍微再大一点,比如说这个十秒钟。对吧。十秒钟一个批次啊,或者说呢,我就是五秒钟一个批次,但是我开窗口我可以开这么大。对吧,就他只能够看到你目前这个,呃,就是流过来的数据,你别的数据,比如说你还没有进入到我这个计算周期内的数据,那我是看不到的。啊,所以它就是只能做一个什么局部计算啊,它不能像我们这个离线计算一样啊,你的数据呢,都是放到你的面前的,我是可以怎么纵观全局的,对吧,我一眼都能看到我这个将计算的所有的数据,但是我的实时计算呢,我是看不到的,我只能够看到你这个当前批次的数据。说它是一个什么局部计算。明白吧,所以说你想让这个实时计算的去做一些,比如说。什么基于当日数据呢?做什么?做统计、排序、分组这些事儿你就别指望他去做,他做不了。
11:05
因为我我你后面有什么数据我都不知道,对吧,我怎么去给你做这个事情啊。对吧,他做不了的啊,所以这个实时跟这个离线它的这个区别还是比较大的。OK吧啊,所以这是第一个啊,叫局部计算啊,这个倒比较好理解啊,因为你过来的数据,你过来多少我就给你算多少,你过来多少我就给你算多少,你没过来的数据我也不知道有啥。对吧,啊叫局部计算啊好,然后下面一个。开发成本较高。啊,这个大家可能现在还没有这个切身的感受啊,等我们讲完以后你就能感受到了啊。呃,为什么这个开发成本高呢啊,因为这个实时计算啊,这个目前来讲啊,因为这个实时计算可是可能也没有几年啊,所以这个到现在来讲,他还没有一套这个非常成熟的。就是这个所谓的什么计算的一个什么这个这个呃流程吧,对吧,计算流程或者什么计算的这个方式啊,或者说白了啊,他没有一个非常强大的一个什么理论基础,在再去什么支撑他。
12:05
能明白吧,你不像我们这个离线啊,这个离线的话,其实像现在发展的相对是比较成熟的,有这个非常强大这个理论基础,比如说你们呃离线收仓,你们怎么去做这个分层的啊,分哪些分哪些层,比如说这个ods对吧,DWD对吧D,呃,还有什么DM是不是,然后这个呃DWS还有什么ods对不对啊,你们怎么去分层的啊,你们是有非常强大的这个理论基础的。然后能够什么去支撑它的。对吧,啊,然后呢,每一层做什么事啊,我们都是什么有这个比较这个成熟的一套什么方案的。啊,但是你到了这个实时中啊,现在就目前来讲,它还没有一套像这个离线式的啊,这个非常成熟的方案,你到底应该怎么去做,你每医生应该怎么去分,这个没有。就相当于这个每个公司呢,都在自己去摸索啊,都在自己玩啊,业界呢,还没有什么形成一个相对什么比较靠谱的这个啊,不能叫靠谱啊,相对什么比较这个通通用的一种什么方案还没有。
13:05
那就说白了,你们要做这个实时的处理,你只能什么相互的去借鉴借鉴,诶你们怎么做的好用不好用,对吧,或者说我们怎么做的好用不好用,只能相互借鉴一下,相互讨论一下,你说你说你要把它抄过来去用,那我觉得不靠谱,因为人家的不一定放到你这里面就合适。好吧,那就基于这种情况,我们在做这个实时处理的时候。那基本上所有的处理过程都需要你自己通过。代码去实现。能听到吧,往往需要你需要你什么通过代码去实现啊,那相比这个离线的这个什么批处理的这个烧烤。那就是麻烦很多了。对不对,我想做一个聚合统计分析,让我来一条烧烤搞定了,但是呢,我的实时计算呢,我得什么通过代码去做。啊,数据的处理,我得什么通过代码去做。对吧,像你们这个离线中啊,我这个一层到下一层,到下一层你全部什么通过搜狗去做就行了,比如说我查哪个表聚合到哪个表里面,对吧,我查哪些表聚合到哪个表里面。
14:08
你把这个搜狗写好,然后呢,再把它整编排成任务,那就搞定了。但是像这个实时计算,你上一层的数据怎么去分的。对吧,然后呢,怎么去聚合的。啊,怎么去关联的,你都得通过代码去实现,一行一行自己写代码去实现。能明白吧,好,那有的同学想说,那有没有这个现在能够在这个实时处理中啊,然后支持写so的呢,也有。对吧,18岁也有收回呀。是不是啊,但这个不算啊,然后link so是不是啊,它都都是有的呀,但我跟你讲,现在如果你要用的话呢,还真有一个。真有一个,但是你说花钱啊,就是阿里有一套这个方案啊,你可以去用对吧,但是呢得花钱啊。明白吧,啊,所以现在我们肯定不考虑他啊,我们拿舍得花钱干这个事呀,对不对,能自己想办法搞定的,那肯定自己想办法搞定啊,好像这是一个啊,然后呢,再一个就是呃,因为它没有这个相对。
15:04
通用的这个方案啊,所以说我们在这个处理的过程中,比如说我们想去存储一些什么数据,这个数据的一个什么中间处理状态,对吧?啊,维护一些什么这个清单是不是啊,然后呢,做一些什么去中操作等等一些,那我们可能需要需要什么对接各种各样的这个数据容器来完成。啊,你比方说我们就要去对接这个RA对吧,我想去存数据了,那我要往面去存啊,那你需要什么自己写代码,然后呢,存进去,我想从它那边去读,OK,那你需要自己写代码,从它那边去读出来。就等等等等一些啊,整个开发的会比较复杂。所以说这个离线考验的是你们写搜口的能力。而这个事实呢,目前来讲,考验的是你们写代码的能力。明白吧,哎,这两个侧重点都不一样。好吧,可能当时你们在写Soo的时候,你们很讨厌对吧,说这个我不想写Soo了啊,我想写代码。好,那现在写代码的机会来了。
16:02
啊,其实等你这个写完以后,你可能会有另外一个想法,我不想写代码,我觉得还是搜狗好写,你要这两个比哪个哪个哪个更好写呢?那肯定搜狗好写呀。对吧,代码是需要你一行一行去堆起来的啊,搬砖的啊,需要你一行一行去把它搬起来的,摞起来的,对吧?啊,所以这个开发成本是比较高的啊,这个大家一定要注意的啊。好。行,然后再往后啊,第三个这个资源成本比较高,呃,这个资源成本比较高,大家可能不太理解,说你这个实时计算能有我这个离线计算资源成本高吗?毕竟你算的数据是这么一点点数据啊,对吧,你每次算数据可能也就是什么那么一点点数据。那我离线计算,我一算我就是一天的数据。对吧?你的资源成本怎么可能比我高呢?来注意啊,这个资源成本高,成本高不代表着你要用多少资源。是对什么资源的一个什么利用率,OK吧,你看了啊,我给你分析一下这个离线计算啊,我们攒够了一天的数据,那这一天的数据可能比较大啊,这个数据量很大很大,那我在计算的时候,比如说我现在啊,开始比如说凌晨这个两点钟了啊,我现在开始要怎么做这个计算了,那可能我从我这个开始做计算。
17:18
我需要耗费大量的这个什么资源进行这个计算,对吧,你需要什么给我起一个集群是不是啊,我要什么基于这个整个集群的资源,然后呢,帮你去做一个计算,好,那我在整个计算的过程中,我确实对你这个资源的什么消耗是比较大的。啊,对你这个资源的要求是比较高的,但是它好在等我算完以后,我是不是就可以把这个资源给它释放了呀,同学们,对,就相当于我用的时候,我确实要求比较高,但是我用完以后我就没用了,我资源就还给你了,对吧,你这个资源你可以干别的去了。是不是?啊,这是你这个离线计算,但我跟你讲实时计算可不这样啊,实时计算虽然说我的每一个实时任务啊,它可能用不了太多的内存,比如说我给你两个G的内存对吧,一个CPU差不多够了啊,如果你想分的再多一点,两个两个CPU或者四个G的内存差不多够了。
18:11
因为我们都知道你的实时任务,你每次计算的数据量很小很小。对吧,所以说我就没必要给你分太多的资源,但问题是什么呀?问题这个东西吧,只要你把这个实时任务启动起来,你就甭指望着他把这个资源还给你,他会一直占着这个资源去用。就算我当前没有数据所计算,我这个资源能够还给你吗?不可能的。明白吧,那比如说我把资源给你了,突然我来数据了,你说我还算不算了。对吧,说这个资源啊,就是我的每一个实时任务,它所占用的资源比较少,但是你架不住它这个资源占住以后就不释放了呀,它是需要什么24小时去运行的。就一天是不会停的,这个资源只要你分给我了,你就甭指望你再拿它去干别的事儿了,不可能了,就是这个资源一直要交给我来用。
19:01
对吧,所以它的一个特点就是需要24小时不停的进行运行。一旦什么。资源什么呀,投入就无法再去释放了。好,那你想想我的一个任务,我可能需要什么两个G的内存,呃,这个两个CPU对吧,或者什么四个G的内存。那如果说你这个实时任务比较多一点,比如说我其他什么十个或者什么20个这个实时任务,你就想想吧,这个好几十个G的内存。好几个这个好几十个这个CPU就已经只能是交给这个实时任务去用了,你别的事什么都干不了。对吧,它的资源成本就会比较高。能理解了吧,就他一直站着不用就就就算他自己没有数据算这个资源我也不会还给你。但我们的离线计算不是啊,离线计算就是我离线离线计算就是我算的时候,我我要求这个资源比较高,比较多,但是我算完以后我就不用了,我就还给你了,你干别的去吧。对吧,啊,所以这就是所谓的这个资源成本比较高啊,这个你要知道的。好,再往后第四个这个时效性啊。
20:00
呃,这个时效性刚刚其实我们也简单聊过啊,这个实时计算的话呢,往往对这个时效性是有一定的要求的。对吧,你不像那个离线对不对,离线无所谓啊,你这个刷的快刷的慢无所谓。你多算一会儿,多上个半个小时,一个小时我觉得都可以,但是这个实时计算的话呢,你就不能说你多上个这个半个小时一个小时对不对啊,他往往对这个时效性有一定的要求,比如说我就要求你在这个这个五秒钟内啊,五秒内是不是给我响应这个结果。啊,你不能要求是这个毫秒内啊,这个毫秒内真的很难做得到啊,同学们对吧,比如说这五秒到一分钟级啊,给我响应结果我都能够接受。那如果你再超过这个时间,那我就有点接受不了了,对吧,那你就要什么在这个时效性内,然后呢,去优化你的代码。能明白吧,啊所以说啊,这里面就有一个,有一个这个叫什么叫这个算是经验啊,如果说你想让这个时效性的话更高,就是让响应速度更快,那你就要尽可能的去优化你的整个计算链。
21:01
啊,去优化什么,减少计算过程中的中间环节,就是把你计算过程中这个中间环节能去掉的东西都去掉不要了,这样一定是能够提升你的这个实操性的。但是这个就就会带来另外一个问题,什么问题呢?你的代码往往是需要耦合的,全部都写到一起的。因为你要去掉中间环节,就我也不外连了,对吧,我也不不去做别的操作了,我就什么在我当前的这个方法中,我一次性把它都完成。那你往往这个所有的处理都耦合到了一起,就不再什么相互调用了。啊,这样是可以去呃,提升你这个时效性的,但是呢,你的这个代码写出来就很恶心了,知道吧。啊,就很恶心了,将来如果说你想去做一些什么调整,做一些优化,那你就很头疼。啊,所以说呢,我们也不要说为了去过过度的去关注这个时效性,然后呢,去牺牲了你这个代码的一个设计啊,这也是得不偿失的。对吧,当然呢,如果说你把你代码这个设计呢,设计的什么特别好,分成呢,分的很合理对不对啊,然后呢,呃,这个这个处理特别好,那么它可能会导致你这个时效性的是比较低的。
22:11
对吧,所以这两个它就是相对的,你这个搞这个好一点,那我代码的设计就会比较差一点,我代码的设计好一点,那这个时效性就会低一点。所以说我们一般会什么会去找一个平衡点啊,去找一个平衡点,就是我把这个确实能够省掉的这个计算环节,我就把它省掉了,不能省的坚决不要省。理解吧,啊,不能省的钱就不要省,就是找一个平衡点,然后就完事了啊,反正就是你想去提升时效性,你就去优化你的计算环节。好吧啊,减少整个什么,优化整个计算链啊,这个大家要知道啊。行,然后再往后就是这个第五个啊,可视化性啊。这个也是大家这个可能对这个实时计算的一个全新的一个认识啊,你说我这个实时计算,我目前我就只能看到你这么一点点数据。
23:01
对吧,或者说呢,诶,我现在给你统计的一些什么结果,我只能是什么,从今天诶第一条数据一直到什么,一直到一直到目前我所看到这个数据,就这一个范围的数据,我是能够给你做一个统计的,那你说这个结果有啥用啊,同学们啊,有啥用啊,你比如说你统计一个什么在线人数啊,不是什么在线,就比如说今日访问人数。关键是你也没统计完,你现在才到什么中午12点对吧,那我还有一下午呢,你说你这个结果统计出来有啥用。对吧,或者说我想统计一个什么,比如说这个订单金额。啊,那你这个才到12点钟,你这个下午还有一下午呢,你这你这个数字统计出来有啥用啊。你也不准确呢。对吧,所以大家一定要注意啊,这个实时计算它并不是说要非要给你计算,计算出来一个什么什么结果,这个结果你往往还不如那个离线计算算的准。能听懂吧,如果说你想看这个准确的结果对吧,那你还是使用离线去做啊,那你说我这个实时到底干嘛呀,注意实时其实我们关注的是你的数据趋势。
24:11
能明白吧,什么叫数据趋势呢?就是因为我是可以什么呀,我的计算的频率是很高很高的,那我在每一个诶相对比较近的这个时间点,比如说诶五秒钟,十秒钟,15秒钟对吧,20秒钟,25秒钟,我的每五秒钟我都有一个临时性的一个结果,那我就可以把这些每个点呢,给它描绘成线。对不对,比如说哎,这个点啊,这个点这个点这个点这个点这个点我给它描绘成线,描绘成线以后呢,诶,我就会什么,看到你这个数据的一个什么变化趋势啊,你是往上挑了还是往下落了。对吧,啊,我是能看到你这个数据提示的。而且呢,我我们可能会住很多天的,比如说这是你昨天的啊,那我对应今天的啊,对应到今天的,比如说诶我是在这儿啊,我是在这儿对吧,我是在这儿,你看啊,我有一个对比。
25:01
能看到我们在每一天的相同的时间点,然后呢,我们这个诶数据的一个对比,我是能看到什么这个数据的趋势的,那我可就可以从这个数据的什么变化趋势上呢,去反映出来一些问题,然后呢,我们可以什么及时的去调整,及时的去优化这些问题。明白了吧,而不是说我就是我,我真想去看到一个什么什么结果,没有什么结果。你那个结果,那准确的结果,你要你还不是通过什么离线去出,他出的还准确。对吧,所以说啊,这个可视化性的主要就是什么,我们通过图形化的手段呢,能够及时的观察到你这个数据的一个趋势。理解我的意思吧,诶观察到这个数据的趋势啊,好了行吧,啊,这个就是我们这个实时计算啊,它的一些这个特点啊,给大家去说这么多啊,这个大家需要这个自己去理解理解啊,去琢磨琢磨好吧。
我来说两句