00:00
好,同学们,那么这一节呢,给大家带来一个拓展性的知识点,就是我们要去了解一下什么是啊英拉DB自己发明的带拓展的CSV啊,带拓展的注释的CSV。呃,那么我们可以看到呢,就是我们之前呢,在这个外部UI上导入数据的时候,我们使用的是行协议的格式。呃,那么我们说的这个拓展的带注释的CSV呢,就是左边这一个。那么最左边的呢,只有基本的CSV。呃,基本的CSV呢,我想这个就不用讲了,主要是呢,我们要关注一下这个,呃,Flux注释版的CSV。把这个屏清一下。呃,之前呢,我们这个功能一直没有用过啊,但其实呢,这个功能呢,不是很重要。好点进来我们看一下呢,其实这里呢,就是让你上传一个文件啊,说你这个文件呢,哎,必须要符合什么格式,但是我们这儿呢,目前没有这种文件,所以说呢,我们就去看一下这个t explore里面我做做一个查询。
01:01
比如说我现在呢,去做一个查询,然后把这个F12,哎,这个开发者工具打开。啊,还是一样是呢,我们去看这个查询行为的一个网络日志。哎,点击一下。可以看到呢,这里面有一次query的一个请求,点开看一下。呃,然后呢,我们可以看到这个响应题,我们可以看到响应题。这个格式呢,其实就是我们说的带注释的啊,Flux带注释的flux拓展的带注释的CSV的格式。我现在呢,把它复制出来,我们到一个呃,Subm里面去看。可能更加方便,或者是我用这个Vs code吧。我新建一个文件,比如说a.CSV啊,随便建一个,然后把这个数据呢一粘。好,我这里面呢,有一个这个格式化的工具啊,可以把不同的列呢,用不同的颜色显示出来。哎,我们往上看。呃,那么这里呢,就可以给大家呢,较为清楚的展示出谁和谁是一列啊。好,现在呢,我们可以看一下,其实所谓的拓展的带注释的CSV呢,是指它前面这一部分与众不同。
02:07
呃,前面这三个注释呢,呃,带井号的这个一,呃是一种注释风格的开头啊,那么前面这三行呢,其实就是我们的in Fla DB自己开创的一些东西。呃,那么它起到一个什么作用呢?它其实它其实对这个底下下面的这个数据啊,呃,起到一定的解释作用,比如说这个我们说date time你可以看啊,这里绿色的这一列,注意绿色这一列这个处,然后这个绿色的再往下一直就是我们的start这字段名,再往后呢,是各行的值。啊,这里面呢,其实它指定了一个,就是说我们的时间戳的格式。呃,日期时间的格式是22FC3339啊,包括后面的这些东西,它也是2FC3339。啊,其实这样呢,就是说可以帮我们的web UI或者一些前端性的页面是吧?啊让他去解释这些数据。因为大家呃,平时使用这个数据格式的时候,要注意一个问题,呃,就是我们的Jason和这个CSV呢,它都属于呃,一个文本性的纯文本的这种数据文件,呃那么如果呢,我这里面写一个,比如说我有ABC3个字段。
03:12
然后呢,给大家写一个这个,比如123223。ABC,呃,那么需要一个问题啊,第一个我假如说这些第一行呢,就是我们字段的名字啊,123的223 ABC呢是我们一行数据。那么这里就要考虑了,就是A,哎,它是小数呢,还是哎是呃,是float类型呢,还是double类型呢?啊那么B呢,是int类型还是long类型呢?哎,那么你怎么可以排除B是个字符串呢?这个B是不是希望是一个哎一个字符串的行为去控制它的这个程序呢?所以说呢,像这种现象啊,像这种现象我们称之为。哎,这个数据的字解释性不足。这要这么写。啊,我们说它自解释性不足,呃,那么说到自解释性,那什么样的东西是带有自解释性的呢?哎,我们假如说把这个markdown呢,视为一个数据结构。
04:08
那么这个markdown呢,其实就属于一个呃字解释性很强的一个数据了,呃,那么当我敲下一个井号的时候呢,就是大家都知道我就要写一个一级标题了。呃,然后呢,当我这个再敲两个井号的时候呢,这就是二级标题。我可以看下效果。啊,可以看到我们的这个一级标题,二级标题呢,渲染是正确的,呃,包括HTML也一样啊,那么这种数据呢,如果说把我们整个文件视为一个数据,呃,这里面的一些符号,它可以自己解释自身的一些呃里面的内容的一些含义,比如这个井号呢,它其实解释了后面的数据是一个一级标题,而不是一个普通文本啊,这就是普,那么后面呢,我什么都不跟,对吧,我们就可以判断出来它是个普通文本,所以说呢,对于一个数据整体来说呢,它内部有些东西可以对自己进行解释,呃,那么有这种特性的东西呢,我们就叫呃,这个数据呢,具有一定的字解释性。
05:07
呃,那么我们的CSV呢,显然是没有这个显然是缺乏自解释性的啊,原来的这个CSV呢,啊,不能知道它的类型,不能知道它这个啊到底想干啥,呃,那么所以呢,你这个时候呢,CS,呃,这个in Fla DB呢,呃,他们可能是意识到这一点,然后呢,而且他自身的也是一个对数据的一些敏感的应用,于是就推出了这一套东西。呃,推出了这一套注释,那么这个注释呢,实际上就是用来解释我们的数据啊,对我们的数据进行一个解释,你可以看到第二行data type,它呢,其实就是在解释底下的这个各个列是什么样的一个数据类型。比如说这绿的黄的和蓝的这三列,他都告诉你这个类型呢,就是日期时间啊,包括后面的这一个啊,1302,你看着是不是很像整数呀,是吧,但是人家给你解释了说不对,这是double类型,这是个小数,是个浮点数。
06:00
啊,所以说呢,这就是呃,In plus DB他们推出的这个带注释的CSV的格式的,呃,一个目的啊,呃,但是呢,我们平时自己不会去写这个东西,不会去写这个东西,呃,那么这个东西它是在什么时候才会出现呢?它其实是我们呃这个查询API,呃各种跟数据交互的API,呃就是你比如说你要查询一套数据啊,那么in Fla DB呢,它会给你返回这样格式的数据,但是我们平时呢,像in DB DB里面写的时候,我们不会把这个数据写成这个样子。要写呢,我们也是去写in DB行协议。啊,在我们上回谷的文档里呢,啊,在附录里,附录一里面详细的介绍了这个数据格式啊,包括它这个前面的注释能有几种类型啊,这个呃,前前后后呢,包括这个怎么样去指定一个常量啊,怎么样去对这个字段进行拼接,都给大家介绍了,但是呢,这个东西,呃,应用场景实在太少,那么有兴趣的同学呢,可以去我们的文档里面翻着看一下。
07:00
呃,最后说一下,就是这里面呢,可以指定一个默认值,我们可以看到啊,啊,比如说这个这个这一列,Result这一列,你可以看到result这一列呢,它其实没有值。啊,它没有值,那么我们怎么知道它是个,它真的没值吗?它其实不是真的没值啊,它是在前面呢,通过一个default就默认值的这个一个注释啊告诉你我们从这里数第二列,也就是result这一列,它的默认值呢,是me啊,是平均值啊另外呢,就是要注意一点啊,啊我们平时意义的啊,我们平时意义的注释呢,就是我应该打个井号,好像我这个东西呢,呃,想怎么写就怎么写啊,但是呢,在in Fla DB的拓展竖式里面呢。不可以这个样子,我们来看一下,其实这里面大家有发现逗号了吗?就是这个注释呢,也是逗号风格的,说白了它其实是整个CSV数据的一部分。啊,但是我们知道从这个result开始之后呢,才是我们数据的,呃,真正真实的数据是我们查询的结果啊,那么因为呢,有这个注释的引入会导致呢,我们要多一个呃注射的头,那么自打有了这个头之后呢,相当于每一行呢都多出一列,那么可以看到从这个查询结果呢,虽然说查询结果是从result开始。
08:13
还是这一部分,但是因为呢,这个注释头的引入,我们每一行前面呢,要多加一个呃,这个英文逗号,那么实际上呢,这一部分它也是做一列,只不过呢,这一列你要永远保持空白。啊,要远不是空白,就这个意思,好,那么关于这个拓展的带注射的CSV呢,就给大家讲解到这儿。
我来说两句