00:00
好,那我们关于整个的之前所讲的DDL的一个操作,就主要这四个吧,啊,用的最多的生产环境当中用的最多的,尽管我们说了他这四个用的多啊,但是跟这几个比起来还是。少少太多了对吧,你想看你接一张表之后,你要往里面插多少次数据,你要查询多少次,对吧?啊,这个就不是一个数量以上的一个问题了啊表呢建立一次就够了啊建立一次这个呢,我们写一个这个叫关闭资源。那接下来我们应该写第五个方法。这什么?第五个方法应该是。向表里边插入数据了,是不是啊向表。插入数据啊,插入数据好public static叫put data对吧?哎,有返回值吧,返回值没写,那插入数据返回值同样的还是什么我对吧,或者data,那我们要思考一个问题。
01:03
参数。还记得之前你传的参数吗?不的对吧,这个是命令,这个不用进来了啊,第一个表明对吧,1001CF。这个rie吧,然后CN,对吧,然后还有一个value,是不是要传这些东西啊,对吧?啊要传这些东西,好,那接下来我们就传一下第一个three类型的什么。Table name吧,第二个spring类型的rie对吧,R啊R,第三个spring类型的CF对吧?CF,第四个边类型的CN,好,就列吧,最后一个。Value啊,最后一个是我们要的value啊,我们要一个value,好,那接下来我们要想。还是拿着命对象吗?
02:03
我们当时说了,拿着这个connection对象在构建方法的时候。我们看到了什么东西啊?Get table这个时候当时我就稍微提了一下,说DML跟DDL这两个语法呢,是分开的,它其实操作的对象呢,也是什么分开的啊,也是分开的,你现在要操作一张具体的表吧。对吧,操作距离表里面的数据了,而不是操作直接表的原数据,他现在要用的什么。Table对象啊,要用到table对象好第一步。就获取什么。表对象啊,获取表对象拿着这个我们所用到的连接点,Get table,他要什么东西?Table name对吧?啊,那我们还是同样的table name.value of,把这个table name给它扔进去啊,这个表有了叫table啊table它这个还是有异常,我们还同样的干什么,抛一下,因为它还是连接,还是I异常吧。
03:04
对吧,啊,因为它还是跟表的一个连接啊,跟表的一个连接叫还异常好,那接下来我们应该做的事情叫什么。是不是拿着table这个对象去调用某一个方法,看一看哪些方法可以插入数据用的对吧,Table点。哎,看到大家所熟悉的一些东西了。Close,我们刚才说了IE长它肯定是一个连接,对吧,所以呢,IE长最后呢,你要把这个东西干什么。关闭,那除了这个之外,你看到了什么东西。SKY,看没看到,那这个东西是做什么的?扫描表的吗?盖呢?获取单条数据对吧,Get的时候括号大括号跟着10011002,是不是同时获取两个可的数据可以吧,来看这个方法。传一个例子的集合,也就是说我同时可以获取多条数据吧,对吧,跟我们命令上全部对应上了,全部对应上了,继续还可以扫描某一个列组,看见没还可描某一个列。
04:10
对吧?扫描这不是列足,这不是列吗?Coll fair叫column fair还记得吧,那个东西,接下来de这个是干什么的?删除数据的吧,指定K这种方式删除吧,这个不是窗开的,窗开的是删除整表吧,这个指定UK指定入K,同时可以删多个吧。来看是不是有多个put呢?是干什么的,插入数据用的吧,啊插入数据用的好,那put list呢,一次性可以插入多条数据吧,对吧,可以批量插入好接下来。什么ipad追加Bach这些东西都比较少用啊,我们看一下有没有那个什么,呃,我们要的那个窗开的对吧?嗯。不在这。窗开的还不在这表啊,窗开的不在这啊,是另外一个东西啊,其实那个东西用的比较少,而且后期我会讲的东西,窗开的这个东西尽量不要用啊,窗开的不要用啊,后面我们会讲原因啊,窗盖的这个东西它它有问题,窗开的其实那个命令有问题,它其实是这样的,他把你表啊直接删了,你这给我删了,删了之后重建的。
05:19
然后建完之后呢,把你所有的关于你定义的源数据信息全部给丢了啊,最后我们讲预分区的时候,我给大家看这个内容,你做了预分区,是不是提前建好预分区啊,你窗开的最后那张表变成一个分区了,把原数据丢了,所以生产文件中不用窗开的啊,不用窗开的好,那这块我们应该用哪个方法,我们现在要干什么事了,不的吧,好调用不的,我们现在就差一条数据吧,因为我现在只有一个一个CF1条数据吧,啊不的就行了,啊不的就行了,好它里面刚才有没有看到要什么东西。要一个铺的对象是不是啊,要一个铺的对象好,那我们没办法,我们只能去第二步去干什么。
06:00
创建的对象。破掉另一个put呗,对吧,另个put s客户端报下的啊把走包了点好这个同样的,它是不是括号报错呀,说明应该是空参构造报错了啊,没有空参构造啊看说P看一下。第一个方法。是不是传一个肉,这个肉指的是什么东西?这个猜不到吗?对,就是OK,但是你看一下它的类型。叫什么类型啊,直接数组是不是我们之前提示过,哎,在存数率的时候,不好意思,没有什么string in the in the double这种,只有什么直接数组啊,叫这个什么白数组直接数组,OK,我们之前说过,既然它底层所有的存储都是自接数组,它还给我们提供了一个工具类,还有印象吗?对吧,我当时说过这个事,对吧?OK,这块就用到S个工具类,那这个工具类呢,就是H。
07:03
叫。哎。他居然不倒包。稍等一下。爱贝斯。搜不到呢。这有毒吧,这个东西。怎么找这次没有这个工具类的呢?有人说这个啊,你是在说这个吗?这个是康复图啊,这个是康复托,这个怎么怎么回事,我是抄的有问题吗?插入数据源,好,Best best。拜是那个辈优秀包下的辈优秀包下的叫拜是这个包下的直接写优秀了。是这个工具包下来记错了还是优啊,是这个,我刚才准备敲这个内容,应该是这个best叫best啊,这个类好点。
08:09
这个地方你看一下,它里面有string in double类型short,把它转成什么?直接是母的,还有继续往下看。Best点。来看这。兔大兔的里面传什么?直接数组就是将字节数组转回来吧,那还有to,然后to long,然后还有short three,对吧,它这个工具类呢,可以帮助我们将普通的类型转成字节数组,同时也可以将字节数组变成什么。我们想要的类型吧,啊,通过这个来做的好best,现在我们是不是将three转成直接数组啊,那我们就要用who best对吧?把这个rockie给它扔进去啊,扔进去就拿到了我们抗R奥加V,得到我们什么?
09:06
铺的对象了,得到我们的对象了,好,你这个地方不是要铺的对象吗?这块能插入数据成功吗?CFCNY6。这东西你放进去了吗?没放吧,在哪放?Put对象的方法对吧?好,那接下来是第三步。叫给出的对象来干什么?对象赋值对吧,赋值柱点看一下。这还这边还有判断put是否为空对吧?啊,判断put里边是否为空,然后还会直接添加一个什么单元格啊,那我们现在有的是family。就是列足列名和value吧,用哪个方法呀。
10:00
第二个吧,添加列信息啊,添加列信息要列足列和什么值,你看一下它的类型,只有一种类型吧,没有你看到spring那些东西,OK,那我们来写一下,统一都用ba.To Ba CF对吧,逗号best.To Ba这个地方是什么?CN,然后。白点白。Y6对吧,啊,给它乘进去,那这样我们铺的对象里边是不是就有值了,有值之后我们就可以去干什么。插入数据了吧,啊插入数据,插入数据,他这个资源最后记得关。资源对吧,啊关闭表。连接好,那有同学可能会问了。你之前写了一个什么东西啊?没电了。我们之前是不是写了一个统一的方法呀,那这个人这个时候有没有人想,诶我把这个。
11:05
Table也移出也移出去,不是没电了。是吧?那我们之前是不是写了一个close方法呀,那有没有同学有这种想法,我再把表呢提出去,在这里边去关闭表,统一的关闭。有人有这种想法吗?这种想法很危险啊,为什么你操作的表能保证每次操作表一样吗?你连接到的集群可以一样吗?你表能一样吗?对吧?所以这个东西呢,在里边就获取,在里边就获取就OK了,最后自己关一下,而且呢,Connection这个连接是一个比较重的连接。什么叫重是吧?掂量掂量多少金是吧?啊就是在框架,有时候我们也会说这个框架是一个很重的框架,是一个什么轻量级框架,对吧?这个讲的什么意思啊,就是创建这个连接或者关闭连接的时候消耗的资源和时间。
12:05
都比较高,这个叫重对不对,类似于假如说你说这个框架比较重,就框架在搭建的时候麻烦。启动的时候费时间费资源,那这是一个什么重的框架,如果说你用起来很简单,搭建的时候也很简单,然后用起来资源消耗呢,相对来少一点,这个就是说属于轻量级框架啊,因为框架你不能说放在称上称一下吧,对吧?啊,所以呢,我们有时候会说重和轻啊,指的是这个意思,那connection呢,它是一个比较重的连接,它你可以在如果生产环境当中,你做一个连接池,你用德鲁一啊或者comp啊的这些都都可以。做一个连接池。这么懵吗?连接池这个东西没用过吗?用过就是无论什么样的都可以放在连接池里边吧,啊,你去用的时候取一个取一个完了之后给他干什么,放回去吧,啊放回去连接池是这意思,那这个呢,就不用做连接池了,你用的时候临时创电,因为第一它是个比较轻量级的,轻量级的一个连接,呃,你随随用随创电就OK了,用完了之后切就给它关一下,你不能不关啊,再轻你用完了不关,你窗帘多了,它还是会内存溢出的。
13:18
能听懂对吧,连接太多了嘛,你服务也会慢,因为很多连接在服务上连的是不是很慢呀,对吧?好,那接下来呢,这个地方就说一下这个推广,你不要想着把它拿出去啊,那之后呢,我们应该做一个测试吧,这个创建这个表测试就不要了,第五个。叫。创建数据测试对吧,呃,我们现在还有哪张表啊Su是吧,干一下这个。啊。呃,里面有一个1005对吧,我们再来找,给他找个半是吧。铺的对,表明sto,第二个rook k1001对吧,第三个列足,哎,这个s to,这个列足是什么?一模1IN2吧,啊,你写in for又错了对吧?这个地方呢,我写一个in for2吧,假如说我用一个二,嗯,列名我给一个name value呢?
14:20
嗯,这里边有个李四,那找一个张三去陪他是吧,找个张三,那我们干什么。啊,运行一下啊运行一下。好,这个离行完了,然后再干什么,盖张三是不是来了对吧?啊就来了是这个意思啊这意思这样就OK了,也就是说你插入数据,那我们想一下批量插入数据可以怎么做。这块批量的有两种,第一个是我批量插入列,就是对当前的这一个rookie,我可以插入多个列,怎么做?在这。
15:03
把这两个值做一个调整,同时对一个R可以插入多个列,能理解这个事,那我们做一个这事啊,这样我也不改这个地方了,我直接在这写死一个条件可以吧,CF用一个CN呢,我换一个,等会呢,我们代码传进来传,那这个地方我加一个S可以吧。加一个这个地方呢,是没有没有好,我改一下,嗯,这个呢,我改成幺零。1002 OK,那我们走一下,这个时候你等会去扫描的时候,一次性会多了什么两个列啊两个列来看一下。SKY是不是张三又来了一个1002吧,张三,然后多了一个什么三,也就是说如果说你要给同一个r key去添加多个列,你可以直接怎么做。对当前这个铺的对象去添加就完了。能理解这个事儿。OK吧,还有另外一种,我们所说的批量添加,应该是添加什么多个。
16:06
入key的数据对吧,你可以添加多个入key,多个r key的话,那你就要构建什么。多个铺的对象,然后把这个铺的对象放在一个。集合里边,然后这个地方你看这啊。是不是可以有一个put集合呀,对吧,这个也是一种什么批量添加的一个方式吧,一个是对于同一个r key,我要一次性添加多个列,第二种呢,是我一次性要添加多个rookie的数据,那么啊,这个都可以啊,都可以啊,这个呢,我还是改回来交互的啊交互的。因为生产环境当中,一般那个数据流失数据过来的,来一条,你用一个量,来一条就一个量,当这个集合达到多少的时候,是不是写出去一次,或者用另外一个线程区监控,它说这个集合呃,已经清空多长时间了,假如说五秒钟我们来一次写一次,是不是类似于两个操作,一个数据量级别的,一个时间级别的。
17:05
生产环境当中是不是很多这种操作,能听懂这个意思吗?生产环境当中一条数据一条数据流失过来的,对吧?假如说我要把这个数据存到未来做查询详情应用,来一条是不是你一个不特价,来一条你个不特价。你完了之后是不是放到集合里边,你完了之后放到集合里边,你接下来写的逻辑是不是分两条线去写一条线判断当前这个集合多少条数据了。假如说你限定500条提交一次,是不是大于等于500的时候,一提交就要用一次什么。负的方法,但是你要考虑到深夜的时候没有数据这种情况呢,对吧,只有490条,是不是卡在那不动呢,是不是应该用另外一个线程去监控它清空那一刻开始,这个时间开始走,如果经过了什么,假如说五秒钟了。咱们也写出去一次吧,是不是两个条件啊,一般的都是这两个条件嘛,一个通过时间控制,一个通过什么。
18:01
量来控制吧,啊这种情况我们已经见过很多了,对吧,上我们所讲的那个东西里边不有很多吗。对吧,啊,一个按照时间,一个按照什么。数据量啊,两个方面来控制的啊,是可以的啊可以的OK,那这个地方呢,就是我们最简单的来PUT1条数据的一个方法啊,一条数据的一个方法。
我来说两句