00:00
好,同学们,这一节呢,给大家讲一个新的另外的一个写入方法,就是我们point啊,可以看到的这个API,呃,Blocking呢,它可以调一个right point的方法,好,那么什么是point point我们知道之之前给大家讲这个DB数据结构的时候呢,呃,我们知道inlu DB里面管理的是序列,然后每一个序列呢。啊,由不同的数据点组成,那么我们写的point呢,其实就是这里面的点。呃,这里的point在程序上来说呢,是我们的,呃,Java client这个依赖它带给我们的一个类,诶叫做point,名字就叫point,那么这个point呢,可以看到啊,这里有一个com.in Fla TVB叫client,叫right。呃,那么我们现在要用到的呢,就是这个类啊,把它敲出来。好,那么一点呢,你会发现这里有一个measurement。啊,没说明的方法,我们要注意一下。
01:00
啊,这里还得给他截个图啊,稍等。好,它的这个参数呢,呃,它输入,它输入的参数是一个字符串,叫做viment name,也就是这个磁量的名称,呃,返回的这个类型呢,是一个point。那么我们现在呢,先把这个测量名称给它写上,比如说我写这个measurement,然后呢,测量名称还是我们的这个temperature,它的温度好,那么回车再点一下,哎,可以看到呢,这里面有一些啊,有一系列操作,什么ADD file,就添加一个字段,还有什么ADD tag啊,添加一个标签。哎,还有包括这个获取当前的这个时间精度,还有包括指定这个呃,数据点的时间,我们可以看到这里面呢,有很多方法。呃,那么这个操作呢,是什么意思呢?这其实是一个呃构造器模式,这其实构造器模式啊,通过这个不停的这些这些方法我们可以看到啊,我们是一个point,这一行代码返回的是一个point类型的变量啊,那么这个point类型的变量呢,它去调这个file的方法,它获得的还是point。
02:10
呃,那么通过我们这种点点点的方法呢,就可以直接构造出来一条我们想要的这样的数据,呃,那么这个方式的好处呢,就是呃,省得我们在这个Java里面呢,不停的拼啊,我们现在呢,去艾特一下,艾特一个tag啊,加一个标签。那么第一个参数呢,是这个标签的,我们这里的是location。然后第二个呢,就是这个标签的值,你可以看到也是一个字符串啊,之前呢,我们写是north是北边,那么现在呢,我们给一个west写西边WT。好,然后接下来呢,我们还可以添加一个字段啊file。啊,可以看到这个参数,第一个呢,是这个字段的名称,我们之前的这个字段名称呢,叫做value,那还可以给它value v啊之后呢,这个值直你可以看到这里可以传布尔直,呃,长整型的,还有这个大暴力型的都可以,呃,那么我们这里呢,给他一个啊,给他一个什么呢?给他一个。
03:11
Double类型的吧。好,那么现在可以看到呢,通过这两个方法,我们现在其实已经和它和我们之前这个数据呢,组成了格式一样的啊一个数据点啊,现在呢,我们把之前的这一行呢,给它注释掉啊,免得这个待会执行的时候呢,真的发生一次写入操作,呃,现在呢,我点哇一下,那么获得一个point类型的变量。呃,这里面呢,给大家说一下,就是point类型呢,它有一个转换成行,呃行协议的方法。你可以看到这个这一行这个方法就是转换成行协议啊,我们来看一下这一个呢,它最后得到的行协议是什么样。把这个打印一下。啊,重新运行一下。好,可以看到呢,这里其实得到了一个,呃,和我们之前格式是一模一样的一个行协议。
04:04
啊,可以看到是吧,这是温度,然后这个location,呃,一个地这样一个方位啊,再加上一个value。另外呢,我们这个呢,它还有一些方法是可以增加时间戳这个点呢。可以看到呢,这里面就是你可以传这个longtime,意思就是你可以传一个long类型的啊时间戳,呃,那么这里呢,还有包括这个稍等啊,还可以一个number类型的,呃,另外呢,就是你还可以使用Java,现在里面内置的一个叫做的类,那么这个类呢,它也可以获取当前的时间,我们可以看一下。啊,可以看到呢,我们这里面其实有一个工具类java.time这个库里面的啊,这个你一说这个now呢,它就直接是相当于当前的时间戳啊,把它这个类给引进来import。啊,然后第二个参数呢,就是这个时间出的精度啊,你需要去呃,指明一下这个时间出的精度,我们可以看一下,呃,如果呢,我现在指定毫秒级,我们可以看一下这个出来的行什么样子。
05:16
好,你可以看到我们的黄协议呢,啊,后面呢,现在带了一个毫秒级的时间戳啊,我如果把它改成大秒呢。改人大表看一下。好,可以看到呢,这个时间戳明显比刚才的长,那么现在呢啊,就是一个纳秒级别的时间戳啊,这就是泰的一个用法,这样的话,这样的话呢,它其实比我们这个呃,直接把这个行协议硬编码在呃代码里面要好很多。呃,那么这就是我们这个客户端类呢,给我们呃客户端的这个依赖呢,给我们提供的一个很方便的呃,包装封装数据的一个类,呃,我们现在呢,就指定直接在代码里面指定这个时间戳吧,然后我们现在呢,就去提交一下把这个数据,把这个point直接写到我们的Fla DB里面,呃,同样我们还是要调之前的right API blocking啊这个类。
06:11
啊,使这个变量点有一个right。I t e point。啊,可以调一个这个方法啊,那么这里呢,你既然我们的数据呢,都已经封装到point里面了,你直接把point传起来就行了。好,现在呢,我们再去点这个运行。等这个程序运行完呢,可以看到没有报错啊,现在是成功运行啊,那么现在呢,我们去看一下web UI。哎,找到我们的这个,在这个data explorer里面呢,看一下example Java啊,这个存储里面有没有我们想要的数据。点。呃,因为这个事例呢,和我上一个事例,在我录课的时候呢,其实差的时间已经有点久了啊,可能有我看24小时呢。也可以看到啊,这是这是上一个事例的数据。
07:02
那么最右边的这个,这是这是我现在数据这边啊,差了很多个小时了啊,这里查的这个数据范围呢,还是过去一小时,所以说呢,你现在看到一个点啊,在这里呢,我们可以把这个location给过滤一下,我们只查location是west的,我们看一下,哎,就这一条啊,那么你还可以看一下原始数据。现在呢,可以看到这个值是36.6,就是我们刚才插入的这一条,现在呢,我们把这个数字变一下,再重新插入一次。啊,比如改成38。啊改成38,然后呢,我们就去直接发送。啊,点击这个运行。啊,可以看到呢,这里报错了,为什么呢。这是因为我们这个存储桶里面啊,我看一下。这是因为我们这个存储里面呢,啊,这个相关的measurement啊,我们这个measurement底下的value字段啊,Value字段它的类型已经是浮点数了,我们可以看到这个报错。
08:06
啊,因为我们在这个温度这个测量底下的。哎,数字的这个类型。这个value这个字段的类型,这个字段类型已经是already啊已经存在,并且呢,类型是float,是一个浮点数,那么我们现在呢,就不能再往里面写整整形的这个数据,那么你这里呢,必须得给它改成浮减数才可以,呃,现在呢,我们再去写入一下。好,那么可以看到啊,可以看到就是这个啊,我们现在这个写入呢,程序已经成功退出了啊,正常退出啊,现在呢,我们去呃,这个这个查询一下,看看有没有进来。哎,可以看到呢,现在只有两条数据,一个是36.6,一个是38,然后图呢,就是这个样子。好,那么现在呢,我们这个知识点呢,就讲完了啊,通过这个point写到in DB啊,已经给大家说明白了。
我来说两句