00:00
我们已经把需求三咱们做完了啊,但这个结果呀,看的不是很直观啊,虽然说我们画图了,告诉大家应该是这样的一个折线的效果,对不对,但是你光这么口头上说感觉不合适,所以咱们接下来呢,给大家准备了一个这个东西,同学看,我们在咱们资料里面有个压缩包,这个压缩包你解压缩之后呢,应该就是这样的几个文件里面会有一些网页和图表的信息在里面,我现在呢,就把这个咱们拷贝,拷贝以后放到咱们的这个位置啊,同学们来,咱们给它点一下,我们点进去啊,嗯。呃,点进去以后给它,诶我们的date式,然后呢,我们给它放进来,你放进来以后,我们在这边呢,给它来打开,打开以后打开,然后在这里呢,给它点一下,点完以后咱们稍等啊,咱们稍等,稍等一会儿,它这边呢,会有一个图表呢展现出来啊,咱们可以稍微看看,就是这样的啊,那么这个是哪来的呢?这个就是我们给大家准备好的那个数据文件,咱们叫做杰森。
01:02
这个接上呢,里面就会有咱们的时间点位,以及咱们当前的那个值,有了这些东西以后,它就可以展示我们的图表信息了,而且在我们网页当中,它会周期性的来读取我们的数据,比方说五秒钟,每五秒钟来读取我们的数据,看看我们的数据有没有变化,诶就是这个意思啊,好了,那我们现在呢,就给大家稍微的把这个一块应用一下吧,那所谓的应用说白了就是把咱们当前的计算结果呢,诶给它更新到这个文件当中,也就意味着每一次文件发生变化,那咱们这个图表不也就跟着发生变化了吗?对不对,同学们就是这个意思啊。好,那我们现在呢,一块来看看这个地方呢,我们来给大家拷贝一个新的吧,嗯,来,咱们拷贝啊,这里我们加上一个一,然后呢,来点击OK。好,放过来以后呢,给它关掉,关掉以后呢,咱们把最后的这个呢,咱们给它注掉啊,注掉注掉以后,咱们前面这个reduce DS我就准备来点了,我们叫for it r DD,那么你for it RD的时候,每个RDD,咱们现在呢,就要想办法去做操作了,但是这个我们的for each r DD呢,有一个问题啊,什么问题呢,我们现在啊,数据是在reduce之后来得到的,那么它会有一个打乱重组的概念,所以咱们的RDD啊,咱们这里来啊,RDD咱们在这里点。
02:25
我要按照它的时间戳进行一个排序,所以呢,我们应该有一个叫salt by啊,咱们thoughtt by key其实就可以了,因为它有一个key嘛,然后呢,给它来个to表述的是一个升序啊,就是这样好,然后呢,我们点我们叫做collect,把数据采集过来,采集过来以后,我现在就拿到了我的数据,我的数据应该就是这个样子的是吧?诶,这就是我们的那个图表的数据了,咱们叫dates,诶咱们这么写就行了,那么你这么写了以后,那然后我们该怎么办呢?其实很简单,你只要想办法把它输出成我们字串就够了,那怎么输出呢?首先按照咱们之前的分析来讲的话,它应该是有个什么中括号之类的,对不对,然后呢,会有个花括号,那所以啊,咱们这个格式呀,好像有点不太对,所以呢,我们这里为了让大家看着方便,咱们这样来啊,咱们来把这个关掉,嗯,在咱们的这个地方在哪儿呢?我看看就就它啊打开打开以后在咱们这儿咱们写。
03:25
看一个叫做list,嗯,咱们叫做list等于list buffer,嗯。好,然后呢,写上一个咱们的string啊,OK,好,写完之后啊,我们放过来,哎,放过来,嗯,好了,那你最后你想要干什么?很简单,咱们要去输出文件,咱们要输出咱们的文件,那么咱们输出文件的话,用到一个咱们叫做out啊,等于new,咱们叫print,咱们的writer,记住啊,咱们还这里还不能用那个RDB的那个输出,因为RDB输出吧,它是格式跟我们要的不一样,所以呢,我们写上啊,咱们叫做new,咱们叫fair,嗯,Fair,我们的R啊,这个我们的writer,看看传什么值啊,来给他看一看,这里咱们传个fair就可以了,所以给他一个咱们叫做new file,好,那这个new file的话,我们这里给它加上。
04:17
好了,那么我们这里写个路径,这个路径我想想啊,咱们别写错了,所以呢,咱们就把它来点击我们的这个。嗯,拷贝啊,来咱们拷贝一下,嗯。他这是一个这样的路径是吧。嗯,我想想这个路径应该也行吧,因为它这里是date是吧,那这样我们就先写成这个样子吧,但是我担心会出问题啊,所以我能不能把这个来我们这个拷贝这个呢?嗯。我确认一下。翻过来诶这样写可能会更好一些,一个完整的路径,对吧?嗯,好了,然后呢,我们这里呢,Out啊,咱们叫做点,咱们要输出了叫print,那么你的这个print呢,首先我们这个里面保存的应该是什么呢?应该是符合咱们这个格式的数据,但是你外面有个什么中国号之类的,所以啊,咱们为了方便,所以我们这么写啊,咱们加上一个中括号,加上一个中括号以后呢,然后你把这个list给我拿过来,所以呢,我们放过来啊,咱们加上嗯,咱们点叫make string,然后写成一个逗号就可以了啊好,然后呢,我们的out out以后来我们点啊,咱们这里呢叫Fla。
05:30
OK,咱们out点我们的close可以了,行,那我们现在只要把这个list里面的数据咱们准备好,就没有什么太大问题了,那么list里面都放什么样的数据呢?那其实就是放这个数据嘛,所以呢,我们这里来啊,咱们写上一个咱们叫做date,点我们的for it,那么这个for it呢,我们拿到的应该写成一个花括号叫case。啊,咱们叫case,这个呢是时间,咱们叫time,还有一个咱们叫count OK放过来之后,现在呢,我们的list应该end啊,追加追加我们的字符串,那这个字符串就应该是一个我们的什么,一个我们的花括号,就是大括号,那么里面写什么呢?对吧,里面应该写这个东西,所以啊,我们拷贝啊拷贝拷贝以后呢,我觉得这还有点问题了,为什么呢?因为它涉及到一个我们的双引号的问题,所以这里呢,我们这么写啊来。
06:25
咱们这里呢,咱们这么写啊,嗯,看看咱们写上它,写上它以后这个是个什么东西啊,这应该是一个时间戳吧,对不对,所以把这个time呢,咱们拿过来放到这里啊,来放到这写上一个time,那这个88应该就是我们的count了吧,哎,所以呢,来放到这边,好,那我现在呢,就把这个写完了,写完以后咱们这个list buffer里面就追加了咱们的数据,然后呢,我们在这里就输出咱们这个内容,那么文件就会被发生变化,那这样的话不就OK了吗?好,我们现在呢,给大家试一试啊,我们现在给大家运行看一看效果。
07:06
之前我们已经把它打印在控制台上,但是效果不直观,那现在呢,把它生成一个数据文件,由我们的静态网页去动态读取它,我们看看会不会发生变化啊。我们现在呢,咱们这边哦,咱们这边的生成数据已经也不太久了,是吧?诶咱们也给它生成,然后这边呢,在不断的去取数据啊,那好,那现在呢,我们就来看一看咱们这个图形,咱们打开。咱们再点一下,再点一下,点完以后咱们看一看它的效果。没过多长时间,诶,大家看到现在时间点上是不是就有变化了,对吧,就是有变化了,咱们可以再稍微等一下。大家有没有发现我们现在的这个数据呢?其实就是有变化的吧,诶就是有变化的啊,所以其实我们现在这个就可以了,只不过下面这个好像是时间戳吧,它并不是我们的那个什么一分钟当中的每一秒啊,每十秒对不对,所以这样的话会感觉啊不是很好,但是其实没有关系啊,为什么大家看123455个点,如果再来的话,就六个点七个点不就都有了嘛,对不对,所以啊,这个呢,我们就不用太关心了,为什么呢?因为其实它已经数据上就都有了,只不过就是一个时间点位的问题,那好,那我们这个就把它稍微停一下,把这个稍微的停一下。
08:27
啊,这个呢,我们稍微的停一下,停了以后,那其实很简单,就是把这个探模改改时间的问题,那么大家看啊,我们现在是时间戳,时间戳的话咱们就叫new啊,咱们叫做simple,咱们的date啊,Simple date format,然后写上一个咱们叫做分钟,再加上一个秒,然后呢,我们再来点啊,咱们点咱们叫做format啊,咱们叫做new,咱们的java.you.date然后写上咱们叫time.too long。好了,你这么写完以后,其实就是我们的time啊,我们的time string,然后你把这个放过来其实就够了,嗯,好了,那我现在呢,继续啊,我再重新给它执行,因为刚才呢,我们的那个图形是对了,但是我们那个时间点位啊,它的时间戳看的不是很舒服,所以呢,我们这里呢,来啊,我们在这里给它刷新,咱们再看一看。
09:26
我刚才的叫没有改吗。咱们这个地方应该是format啊,应该把咱们的时间戳变成我们的这个分钟和秒了呀,嗯。好,大家看已经出来了吧,对不对,现在呢,我们的,因为我们这个历史数据比较多呀,他一会儿呢,就不会有那么多数据了,稍微等一下就可以,对不对,那这个咱们就不等了,同学们,咱们把这个含义告诉大家,其实就够了,好啊,这个咱们说到这里。
我来说两句