00:00
好,同学们,我们知道呢,Query API还有另外一种查询方式。啊,我先把这个删掉。呃,下面这行代码呢,也去掉。啊,可以看一下它呢,还有一种呃查询方式叫query啊,不是quary绕quary,那么这个这种查询方式呢,我们可以看一下这个呃方法的一个返回值,它会返回一个一个这个类型呢,全部是flux table类型的,呃,List集合,一个列表集合,呃那么现在呢,我们先不去用query做查询,在这之前呢,我们去做一个准备工作,就是去把我们的之前写的这个telegraph开起来,好啊,之前呢,我们在userb目录下呢,放了一个这个呃,Start telegraph脚本正常的话呢,你就直接start tele就可以了。啊,现在这个看到这个界面呢,就是我们的数据呢,已经在往这个telegraph里面,Telegraph已经在把数据像我们的Fla DB写了,那么现在我可以去呃这个data explorer上呢,看一下数据有没有进来。
01:09
我们之前的telegraph写的是把数据放到EXCEL02,那么我要查一下CPU。再查一下这个什么吧,查一下这个用户使用的情况,Sum。啊,可以看到这里面有很多数据,我们只需看最新的,把这个鼠标呢放在最右边。可以看到呢,现在是一点零五一点五十分的数据,跟我这个机器的时间能对上,说明我们现在呢,写的是一直在这个泰里寡妇一直在不断的往里面插数据,好那么这一步做好之后呢,我们再回到呃,自己的这个idea里面写我们代码。呃,我们现在呢,去写一个query。这里呢,可以看到直接把我们的flash脚本传进来就可以,那么还是直接传递flux。好点one,呃,那么现在呢,我们就得到一个里面全是flex table的呃列表集合,现在呢,我们先什么都不干,我们就去看一下这个集合的大小,点size啊勾点size,运行一下这段代码。
02:19
好,你可以看到呢,我们这个地方呢,呃,这个集合大小为一。我们现在呢,再去这个data explorer里面呢,来看一下我们现在这个筛选条件是查询EXAMPLE02的存储桶,然后measurement呢指定CPU。File的字段指定的是us usage user,就看这个用户的CPU使用情况。然后我们看一下editor,哎,看一下它的这个生成的flash脚本,把它粘过来。呃,这里面呢,我们还是把它直接放到idea里面,我们写二。等于把这个脚本一粘好。
03:00
呃,记住了,这里video.time range start呢是我们这个,呃,在data explorer里面web UI给我们提供的一个变量,此处呢,我们需要把它换成呃,绝对值的指定,比如说负1H啊,前一小时前。呃,那么底下的这个AI也要变一下。把它换成十秒10S,要每十秒开一个窗。好,那么接下来呢,我们用这个flux第二个脚本呢,去做一下查询。呃,Flu斯二,然后点好,那么这里拿到的呢?我们还是一个呃,泛行为Fla table的列表集合。同样呢,是打一下它的长度。Carry一点赛。诶,上面是corry,底下是QUARE1运行,运行一下中端代码。好,那么可以看到呢,我们第一段查询呢,返回的集合大小为一,第二段查询呢,返回的集合大小为五,呃,什么意思呢?我们可以看一下之前的查询,现在这个查询对应的是不是我第二段的flash脚本呢?是不是对应我这个脚本,然后我这个脚本的打印结果是不是五呀,对吧,是不是五。
04:20
那么我们现在呢?回到web UI上。把鼠标定在这儿。你可以看到这里面有几种颜色。是不是五种颜色?五种颜色啊,随着CPU的不同呢,帮我们制定了五种序列。那么这里面的五什么意思呢?也就是说其实这个集合的大小,哎,这个里面的每一个flex table都是一个序列。然后呢,我们整个集合里面一共有五个flex table,也对应着我们的web UI上查询结果里面的五条序列,所以说呢,这个里面一个flex table其实是一条序列的数据,我。
05:03
啊,那么现在呢,我们再去看我们的这个。之前查的这个go green。选择test in,然后这里呢,选择gos。点击查询sum啊,我们可以看到呢,这里只有一条线,它呢就是只有一条序列的数据,刚好呢,对应我们idea里面打印的结果一。好,那么了解到这一点呢,我们就可以做一些呃,做一些和这个Fla table相关的操作了啊,直接对我们查询出来的集合呢,For循环便利。啊,我们可以点一下看看这个flex table有什么样的方法。诶可以看到呢,它可以它只有四个方法,一个是呢,获取他所有的列,另外呢,就是获取group k group k呢,其实就是看他这个,呃,我们这次查询是按哪一些字段呃做的分组,那么每一次这个呃分完组之后呢,每一个组对应的就是一个序列。呃,还有呢,就是get records,就是获取里面详细的数据,我们先看一下这个get columns。
06:06
好。可以看到呢,这个方法返回的呢,其实也是一个啊集合,它是我们,呃,这个查询结果里面每一列的一个啊,列的一个集合就是这个,呃,列表里面呢,是我们好几个列啊,我们可以先打印下它,打印一下它的大小,So,然后c.size。好,那么执行一下,现在呢,为了看的清楚呢,我把这个底下的这个查询给他,哎注释掉,把上面的打印呢,也给它注释掉。啊,稍等。好,可以看到呢,这里面有八列啊,一共是有八列,呃,那么现在呢,我们还可以去看一下这个classs,呃,对classs进行一个放循环,然后看一下这个每一个列,它有什么样的方法可以进行操作,呃,那么可以看到呢,它这里面的方法,我主要是呢,我们只用它的这个get方法啊,Get label get index get这个默认的默认值,这一列的默认值,还有get数据类型啊,主要就是这些方法。
07:13
呃,再往下呢,基本上就是没有了,呃,还有一个就是it group,判断呢,它是不是一个用来分组的呃,列。啊,那么你可能比较好奇,就是为什么我这里面没有字段的名称呢?没有什么name呢?啊,其实这个label呢,就是它的名称啊,就是这个字段的名字啊,直接get label.so我们看一下这里面都有什么。好,那么你看到呢,这里面打印出来的就是这些一共是八个字段啊,那么这就是他的基本情况,呃,另外呢,就是我们可以去获取把这个注释掉啊,讲另外的方法了啊,另外一个我们就是可以获取这个。呃,不对,这个列进行循环了,我们可以把这个从这上面都删掉,好,呃,从这个,呃,调用这个flex table的get record。
08:07
那么用这个呢,就可以获取里面的所有的按行的去获取所有的数据啊,点挖一下可以看到呢,这里面呃,返回的是呃多条记录的一个列表集合,此处呢,我们也是对records进行一个for循环。啊,那么现在呢,就可以来探索一下flux record这个类型的一些方法。看一下record,然后点一下啊,也可以看到这里面呢,你可以获取get file获取这个字段啊,包括这个获取它的这个啊指标名称。呃,你也可以获取这个这条记录的时间,呃,这些呢,都是它的一个呃基本的方法,呃,还有呢,就是你可以,因为我们这里不是有这个,呃字段列了嘛,Column了嘛,它这个地方呢,你也可以去,呃按照下标索引,按照它的这个,按照字段的这个,哎,这个叫列,按照列的这个下标索引呢,呃,去获取对应的值,或者是呢,就通过这个label的名称去获取值,呃,此处呢,我们可以先给大家示范一下get value by k这个方法。
09:08
呃,跟86K。好,那么直接呢,我们就获取这个,呃,比如说找这个找吧里吧。点啊可以看到呢,它返回的是一个啊,因为这个值的类型呢,我们不能确定,但是呢,我们怎么着呢,都可以给它打上字符串是吧,把它打一下好,现在呢,我们打印一下看看效果。啊,那么也可以看到呢,这里其实就是把这个呃,里面的数据打出来了。哎,就这么个意思。呃,另外呢,这里有一个值得说一下的方法。就是我们可以把这个record。转成一个map集合。你可以看到的,这里面有一个叫。
10:01
看一下叫get get value丝啊加S的这个。那么这个呢,其实就是把我们的数据呢,打成一个map集合,那么K呢,就是我们我们这里面的列列名啊,我们这里面的列名,然后这个object呢,就是每个列对应的值。啊,现在呢,我们可以去打印一下啊,这里呢不适合叫864。这里就要万吧,就比如说一条数据啊,一行现在一下。Ho。呃,那么可以看到呢,这里面每一个每一行呢,都变成了一个map,然后这个呃,数据的K啊,这个数据的这个map里面的K。就是我们查询结果里面的列,然后这里面的等于号后面的值啊,就是这个列对应的值。好,呃,那么这就是使用这个,呃,Java呢,去查询我们的Fla DB啊,以序列形式来返回数据的一个方法,呃,那么关于查询呢,我就讲到这。
我来说两句