00:01
好,到这里呢,我们DDL的语言就已经写完了啊,接下来呢,我们来写DML的啊,相比较DDL这个对表格的操作呢,它DMLDDL里面结构比较复杂啊,那DML呢,相对就更加简单一点啊,我们一起来看一下,先创建一个类啊HDML。到这边我们按照同样的结构啊,创建一个新的Java class,叫h base dml。好在底下呢,我们为了使用方便啊呃,现在最下面呢,给一个main方法作为一个测试啊,那同时呢,我们也给它添加一个静态属性啊。好叫静态属性啊。好,这个静态属性呢,我们还是public static啊叫connection。嗯,H base connection啊,给它名字就叫connection,让它还指向我们之前写好的那个初始化的一个连接啊,好,我们在这个类里面呢,还同样使用这个连接呢来进行编写啊,那我们DML第一个方法API呢,是我们要写的这个插入数据啊,也就是po一个cell啊,我们在呃。
01:15
命令行的时候呢,已经演示过相关的一些操作了,就是那个po啊,那在代码里面的API里面呢,我们再来写一下啊,这个叫插入数据啊,叫public static啊嗯,返回值呢,还是写成Y,不需要返回值啊,叫put一个。Well。好,我们按照小驼峰的写法呢,这里应该写一个大写的啊,对应呢,我们需要填上它需要的参数啊,那这个参数呢,填写的还是比较多的啊,也需要大家呢,来一起回顾一下啊,我们在往里面写入一个数据的时候呢,你要写的非常长,首先你要指定你写入哪个表啊,在写表的时候呢,那就是namespace命名空间,然后。逗号。String string类型啊。
02:00
再想一个table name。好,再是string类型啊呃,这里呢,我们已经找到这个表了啊,然后再往里面写的时候呢,一定要注意了,我们当时呢,是先写的ROK啊,先写的ROK啊,你写上row。啊,先写的RK,写完ROK之后呢,哎,这个地方RK你也可以写成这样啊大写的啊好,写完RK之后呢,再写那个列啊在at里面列的有两个属性决定,一个叫列族,一个叫列名,那就是string类型的列足啊考。Family啊。好,对应的再写一个列名啊,叫string类型的color。Lu啊?Name啊,写一个列名,那最后呢,我们还是要写上它对应的一个value值啊,对应的value值对吧?好,它需要的参数呢,就这么多啊,我们呢,首先还是来先给他写一个文档注释啊,这个叫插入数据啊插入。
03:00
数据好,他插入数据的时候填的东西比较多,我们一个个来填一下,这个叫命名空间名称啊,这个叫表格名称。这个叫主键啊,其实那个RK啊,你这个RK呢,翻译成主键也行啊,但在h base里面我们叫它啊RK啊,你叫主键啊也是可以的,主键好这边呢叫列族名称。好,下一个呢,叫列名啊,哎,也叫列限定符啊,你叫它什么都可以啊,对应下面这个呢,叫值对吧,这就是我们往里放的最后的那一个值啊好在这里呢,我们就开始写相关的一个代码了啊,这里呢,就不同于我们之前写的DDL的语言了,在DML语言里面啊,根据那个连接的一个描述对吧,这个连接的一个描述啊,它这边说了,如果你是对表格进行修改呢,你用ain,如果你是对数据进行改的,你应该用table这个属性,所以对应我们DML的API啊,它第一步就不再是获取的密了,而改为了获取table啊。
04:05
获取table,方法呢是一样的,叫connection.get table get table。好,Get table里面是需要我们填写一定的东西的,填写的这个东西叫table name啊,填写一个表名啊,那这table name呢,就是table name。Table name在这啊,这个对象点value of value of里面还是填上我们对应的一个命名空间加表名啊,叫name space,逗号table name。好,这里呢,我们点哇返回就能够得到这么一个table啊,第一步获取table,好,那减掉第二步呢,也跟之前类似啊,调用相关的方法去往里面插入数据。调用。相关方法插入数据好,对应的呢,就是table.put啊,它这个方法呢就叫put,并且这个put的时候非常有意思啊,它这个填写这个对象不是让你去填一些对应的参数,而是让你填写一个对象,就叫po,哎,很有意思,叫po一个po啊,同时呢,你也可以往里面填写一个list集合啊,你写你用一个a arrive list就可以啊呃,创建一个集合,在集合里面呢,加入多个对象,它能够依次的把这些全部都给它写入进去啊,这里呢也是可以的啊,也是可以的,那这里呢,我们就单独写一条,因为我们这个方法的设计啊,只有一个值,对吧,还是一个cell,它不是put saless啊,它是put sales,那只能写一个,那我们对应这里呢,也来去创建一下叫new,一个put好,这里呢,就不会有那些非常复杂的一些这个呃,嵌套了结构的一个嵌套了,它这里就直接new就可以了啊new一个po,在new的po里面,它有非常多个方法的存在,但是。
05:48
对这些方法的重载都指向一个东西,那就是。肉啊,就是行号啊,就是行号,那我们的行号什么呢?就是RK,你在new的时候啊,需要告诉他RK是什么,只要告诉他行号就行了啊,我们这里呢,来给它加进去,当然也可以填时间戳,对吧?还是那个问题啊,我们不建议大家手动去填时间戳,默认会使用系统当前的一个时间啊啊,那还是要写一个BY数组,那我们就写BY。
06:15
好bit点,诶,它怎么给我推断了这个东西啊,bit.To Bit啊bit.To Bit啊嗯,这个bites类呢,是给我们提供的一个工具类啊,用起来呢,可以直接转化为but数组里面填上RO就可以了啊,点Y返回就会得到一个put对象,当我们得到这个put对象之后呢,给这个put对象添加属性就可以了,把你后面这些东西给它添加进去,然后第二方法诶,就能够写入一条数据了啊,相对还是非常简单的啊,就要给po对象添加属性啊。嗯,这个地方呢,应该写一个这样吧,重新标记一下啊叫创建。对象啊,这个呢,应该叫2.2。
07:02
2.2啊,这结构应该清晰一点啊。好,这里呢,我们来去给它添加一下啊,叫put,点它里面有叫a column添加列啊,添加列在里面添加列就可以了,它这个添加列呢,需要你填的就是family column fair加value,其实就是我们的column family column name加value啊,它只是说呢,全部都是转化为bad数组,你挨个来写一下就行了,叫BYs.To Bys,因为我们使用时间太多了,所以你可以提前先CTRLC复制一下啊,复制完之后呢,在里面写上叫column。Family对吧,哎,逗号逗号再复制一个,在里面写上column name啊,在CTRLV再复制一个,里面写上value。啊就可以了啊,那这个属性添加进去之后呢,我们这个破对象就已经创建完成了,最后一步把破的对象给放进来就可以了,对吧,在这写个2.3啊叫。添加对象啊。将对象写入对应的方法啊,将对象写入啊对应的方法啊好,这里呢,我们就把这个对象相对就已经放进去了啊,那这里呢,它就会把这个数据呢给它放进去啊呃,这个异常处理呢,咱们还是最后再做啊,当我们写完之后,最后一步呢,也不要忘了啊三应该是关闭。
08:18
Table啊ta啊,关闭table就OK了啊,那关闭table呢,这个地方我们写上叫table.close。对吧?哎,table.close好,如果这里呢,我们要对它进行异常处理的话,哎,你应该按照之前DML语言里面先去判断这个表格是否存在,大家想想是不是这个道理啊,那每次处理呢,它的效果呢都是一样的,所以这里呢,咱们再往后就不做相对应的一个处理了啊,大家呢,可以自己去给它添加上啊,因为这里啊,我们写的这个API啊,只是一个展示啊,一个展示在实际开发里面,你要考虑你们具体应该如何写入数据,然后呢,写一些相适配的一些方法啊,我们你只做一个展示,就写成这样简洁明了啊,你用起来看起来呢,可能更清晰一点啊好,当我们写完这个不CE之后呢,对应底下我们就开始去往里面写入数据了啊,那如果我们想写入数据呢?你首先要确定一下你这边有哪几个表,我们要往表里面写吧,List,它这里面有个big table student啊,我们deb啊,Describe big date啊,Student。
09:24
符号执行这里面我们可以看到它有in for和MSG列足啊三个版本,一个版本,那我们就使用它就可以了,好,我们写的时候呢,就写到in for列足下面啊。在这里我们来测试啊,测试添加数据啊,叫put cell,好,我们来写一下啊,它的列组呢,叫big data啊,它的这个呃。表。表面来写一下叫student啊,对应再往后写一个列族,这列组呢,你就随便写了,你写一个啊2000。2001吧,啊好,对应的,我们下面再写一个啊,In for列族。
10:03
嗯,叫name对吧?啊,再往后写一个张三啊就可以了,这个异常那我们给它抛出去啊,对应在下面的地方呢,你写一个其他代码啊,确保呢,你这个是没有问题的,对吧,其他代码啊,我们这里呢,输出一下叫其他。代码啊,最后不要忘了啊,最后不要忘了,每一次你在运行的时候,在main方法的最后一定要记得关闭连接啊,关闭。连接我们的关闭连接呢,你就调用对应的一个方法就行,叫close connection对吧?好,那这个结构呢,就已经写好了,咱们来看一下这个数据呢,能不能写入进去啊执行。我们的table和in呢,都是相对于比较轻量级的一个连接啊,你你主要维护的其实这个叫H,它是一个重量级的连接啊,前面这个表格呢,其实都无所谓的啊,我们随便创建,然后随便关闭就可以了。随时随地使用的时候呢,就来创建加关闭就可以了啊,不建议缓存,也不建议迟化啊。
11:07
好,还是每次都要稍微等他一下啊,当它运行到其他代码的时候呢,说明这个poce就已经完成了,我们来看一下这个数据啊,呃,因为我们还没有写到查看数据的一个API,所以我们只能到命令行里查看啊,叫SKY,我们直接扫描。Big data。死掉电场啊,这些。好,对应这里面的我们可以看到啊,这三行呢,这这这四行是之前的数据啊,最后一个2001就是我们刚刚写入的一个数据啊,好,这是我们对应的一个写入数据的API啊。
我来说两句