00:00
好,同学们,这一节呢,我们开始讲解,用Java来查询class DB,那么我们这里呢,新建一个类。啊,就叫Cory。好,那么查询的时候呢,我们要写这个flax脚本,我先把这个我们要用到的一些连接的参数呢拿过来。好,拿过来之后呢,我们再写一个慢方法。啊,那么在慢方法里面呢,我们还是要先创建我们英拉DB的客户端。DB client factory,然后点create。啊,那么这里呢,我们可以看一下呃,Create的方法呢,其实有很多重载啊,有很多重载也可以看到,我们这里呢,可以只指定URL,然后和呃,也可以不指定bucket,只指定URL talking和org,呃,那么什么时候我们去选择不同的这个重载的方法呢?呃,主要呢,是取决于我们后面创建这个客户端对象之后,要用它来做什么操作,假如说呢,我们要用它来管理组织,那么这个时候我们创建连接的时候呢,就可以不用指定组织,呃,如果呢,我们要用它去做一些,呃,比如说这个查看telegraph配置是吧,那么不用这个时候呢,跟存储桶的操作呢,就没有什么关系,呃,那么这个时候呢,我们创建客户端对象的时候就可以不用指定存储桶,哎,那么我们这里执行查询呢,诶我们要写flax脚本,那么在flax脚本里面呢,我们会去指定存储,这个时候呢,我们就可以不用指定存储啊,不用在创建连接的时候指定存储,等到我们去写这个查询脚本的时候呢,再去指定存储。
01:31
呃,所以这里呢,我只传递URL。Talking和ORG3个参数,然后创建这样的客户端。好,那么创建这个连接客户端之后呢,我们再去调一个获取查询的API,查询的API的方式呢,就是在client对象啊,点一下有个get query API。然后点Y,这样呢,我们就得到了一个query API对象,我们可以看一下这个query API呢,有哪些方法QE,这个QEAPI点一下啊可以看到呢,这里呢有很多query方法,那query呢,这里面要求你给不同的参数。
02:11
然后还有呢,就是corry roll那个这个呢,其实是查询原始数据,等到后面呢,我们会给大家讲解原始数据什么意思。好,那么这样呢,就是它的两类方法,呃,首先呢,这里我们给大家讲解corre的方法。呃,这里呢,我们先去写一个flux脚本啊,去做一个查询。啊,那么我这里呢,就不怎么继续敲了啊,我这里直接写一个变量,我们呢去外部UI生成一个flash脚本,然后拿过来。啊,这里登录一下。呃,可以看到我们的,打开这个data explorer,我们去查询test in。啊,有一个GOGRS,我们的go轻量级线生数,那么这个啊,Meter底下呢,只有一个序列啊,所以说其他的这个字段,字段和这个tag呢,就不用去指定了,直接submit,呃,可以看到呢,我们现在已经把数据查出来了。
03:04
点击这个script editor,我们可以看到它对应的flux脚本。呃,这里呢,直接把它复制拿来。啊,这个呢,还不能直接复制啊,注意我们需要改一下,呃,这个后面会给大家讲到这个V,这个V呢,其实是我们这个当前仪表盘里面的一个环境变量,所以说呢,这个地方它离开了仪表盘之后再执行它的话会有问题,呃,Start呢,我们写成负1H是过去一小时的数据。然后A就是我们的窗口大小,那么设置呢,十秒。好,剩下的东西呢,就可以直接拿来复制粘贴了,拿来,然后到我们的idea里面粘贴一下。好,那么这样呢,就是我们弄了一个弄好了一个查询,呃,Test in存储桶里面,哎,Go gro这个测量名称的,呃,那么一个flax脚本啊,它呢只返回一个啊,我们的查询到的序列,呃,那么这里呢,我们去做一下查,我们去查询调一下这个query,然后现在呢,我们先不调quare这个方法,我们调quary肉q raw。
04:12
啊,可以看到呢,这里面其实有很多种重载,有的是传这个Q大写Q对象的,还有的就是传我们的这个字符串,呃,然后我们现在呢,去把这个flax脚本呢,直接传进来。然后点Y,诶可以看到呢,这种查询返回的数据格式呢,是一个字符串的格式,诶给它变量名字叫做data啊现在呢,我们直接把这个打印出来,看他是什么情况。好,那么运行一下。好,可以看到呢,我们的这个数据呢,已经查询出来了。它呢,其实是一个CSV格式的数据,那么这里呢,还有一个问题,就是为什么cor这个方法呢?啊,你调完查询完之后呢,得到的是一个CSV格式的数据呢,为什么这个东西啊,这种数据呢,叫原始数据啊,我们可以看一下外部UI在这里面呢找答案。
05:09
把这个页面刷新一下啊,一切归零,呃,现在呢,我要在这个页面上按一下F12,打开我们的开发者工具。好,我把这个网络日志清一下,点一下这个禁止的这个符号来就清除了,呃,那么点一下我们的example Java。再找到这个啊,不是Java了,是tson in,然后找一下GOGR这个资料名称。点击,然后submit。好,我们可以看到呢,这里面其实在我们刚才几次点按操作里面呢,啊,这里面会有各种的网络请求啊,在这个跟我们的英拉DB服务呢进行交互,我们可以看一下这里面都在干什么。把它拉开。你可以看到它这里呢,其实掉了一个query的API啊,用这个query API向英TB呢去查询数据啊,然后呢,我们可以看下其他的这个数据的响应啊,你会发现呢,这个响应里面其实本身就是CSV的数据,也就是说啊,我们的这些写的flax脚本。
06:14
啊,我们写的flash脚本,你各种客户端,不管是web UI,呃,还是你的这个我们的Java编程语言里面的,呃,这个客户端库。还是说我们的influx?C Li。命令行工具它呢,去查询我们的in Fla DB服务端。它其实返回的都是CSV格式的数据,那么这里呢,大家还要注意一个问题。啊,这里还要注意一个问题。就是这里的CSV数据呢,其实并不是单纯的CSV数据,你可以看到这一个返回来的数据头部呢。哎,它有一些注释,那么这个其实是英SDB呢,他自己造的一种格式,叫做带拓展的啊,带拓展注释的CSV,那么后面呢,我们会专门起一个啊副本给大家讲解这个,呃,里面到底是什么,这个格式呢,到底是干什么用的,包括它的一些规范啊,再往前呢,我们可以看一下之前我们点按这几次操作触发的这些,呃,查询脚本啊,查查询结果啊,你可以看到呢,有时候呢,他会给我们返回,呃,这个零告知其实是我们什么呀。
07:25
哎,其实是我们当前的这个字段集里面的字段,呃,它有一些这个操作,它有一些查询这个,呃,数据相当于我们查在SQL里面呢,去在MYSQL那种数据库里面去查表结构的操作。啊,那么可以看到呢,这个包括我们这些对吧,这个之前的这些点案操作,在web UI上点操作,当我们一点击的时候,他直接去触发一次查询,然后呢,这显然呢,是把我们test in里面所有的measurement给查出来了,大家呢,可以看到这里呢,还有一个GOGRS,哎,是我们现在查询的这个购物员的总线程数。呃,那么说到这个查询呢,其实我们还可以点一下啊,在这里面有一个东西叫载荷啊,那么这个东西是什么呢?这个其实是我们请求的请求体啊,这是请求头啊,这是我们的请求头和响应头。
08:10
呃,这是我们的请求体,就我们发送请求的时候,这上面带带的一些数据啊,你点过来之后呢,我们可以看到这里面其实就携带了我们要查询的脚本。可以看到这是这是我们的查询脚本。呃,之前我们这些查询in Fla DB原数据的啊,表结构的这些,它也带有自己的脚本可以看到。呃,所以说呢,这就是我们we部UI的一个交互原理,呃,那么说到这个查询原始数据呢,其实就是说啊,为什么叫corre roll呢?呃,其实就是在这个数据格式上,你这样查呢,你得到的是一堆CSV,那么这个呢,其实就是我们从HTTP这个接口。啊,服务器响应过来的这个数据的结构啊,是未经处理的,直接返回给你字符串,那么这呢就叫查询原始数据。
我来说两句