00:00
呃,那么关于我们这个h base呀,呃,一个是它的一些我们基本结构,另外一个它读写数据的流程,还有一个呢,就是本身h base它有一些我的命令怎么去创建表啊,像这些东西啊,那呃不是特别对,就是没有必要额外去记啊,没有必要额外去记,因为咱们实际上再去我们这个使用的时候,我们肯定呢,是通过菲尼克斯啊来对我们这个base子呀。来进行操作对吧,但目前呢,同学们在使用我们这菲尼克斯的时候,对吧,现在你们是连不上的是不是对吧,你们现在我看了这不是不是个别的连不上,以前这个班级是有个别的这个连不上属于工具的事,那么现在呢,咱们现在大部分大家大部分基本都连不上是吧?那如果连上的话,这说明啊,你在这个H着被子那块啊,那你没有按照老师在做。啊,我和老师沟通了一下,你们当时在一个配的时候,你们应该,呃,在配置文件中,你们配了一个什么mapping对吧?有一个什么属性啊,其实STEM mapping一个属性,然后设置为触吧,你们应该有这么一个属性对吧?那么这个属性呢?那如果设置完之后呢,它要求在咱们这个客户端在连接的时候,对吧,也要设置一下呃这个属性,它的目的是干什么的?你们当时在配置属性的时候,为什么要配置属性?
01:13
知道吗?命密空间是对的,这为什么要配啊,就是当时你们在配的,这目的是干什么?本身大家想想h base,我这个表是不是要建立些base里边去啊,对吧?但是呢,我们现在菲尼斯里边,它是不本身也可以通过什么create table的创建的表啊,那么他们两个之间是不是得匹配起来,对吧?那本身如果说啊,你要是不配这个属性的话,它其实呢,是不允许创建我们这个STEM,然后和我们这个S背诵库去做映射的啊,就是它本身咱们有创建词game语法,但是如果说你要不配置属性的话,在创建时候其实会有问题的,对吧?就默认咱们现在都放在哪了,都放在我们default库里面去啊吧,都放default库里去,对吧?但其实我们真正在去做的时候,对吧?那一看公司,有些公司呢,他可能对吧,直接呢,就是操作default库就一个就行了,那么有些公司呢,可能创建多个库,比如说像我现在啊,我们在操作的时候,比如说有什么技贸对吧,有什么咱们这个经贸多多少多少多少对吧,那你可能创建不同。
02:17
同的库对吧,那如果出现不同的库的话,那这个时候呢,那你需要把它当前啊这个这个属性呢给设置一下,但如果设置这个属性呢,那它有要求对吧?如果你在服务器端设置属性的话,那么在咱们的客户端呢,那你也需要设置一下。啊,你也需要设置一下,所以说呢,那目前同学如果想连上使用咱们这客户端连的话,那么你们呢,应该去的这个把咱们客户端属性设置一下,对吧?这个解决方案呢,两种对吧?两种第一个就是我们上午在这里我是给大家的去建绍一个工具,然后这个工具在我这里我时候可以创建为一个连接,那么在创连接的时候呢,那么其中有一个叫什么呢?叫做我们这个属性啊,叫做它属性,那么咱们现在呢,这个属性本身呢,在这里它可以去什么呀?它可以去添加啊,比如说我现在啊在这里我选一个。
03:08
选一个五们0202啊,然后现在随便给它指定一个名字,然后呢,来配它的属性,那么在这个属性里边呢,那你可以其中啊在这里右键,然后有个叫爱的property啊,那么这个属性呢,就是你们在我们这个h base它的配置文件中对吧?然后配置那个属性,然后它的值呢,指处啊给它选一下,选完之后呢,把这个勾选上对吧?这是第一种解决方案,连接我们现在这个工具呢,对吧?连系工具呢,但如果说我现在工具连上了,咱们是不是还得在我们这里啊,在咱们这个的这个程序里边连一下呀,对吧?那么如果程序连的话,那么这个时候呢,那你也是打开我们的Phoenix u,然后接下来那么咱们呢,再去连接的时候,对吧?在连接的时候对吧,那么这里呢。大家看其中呢,是不是有一个URL,还有一个什么,是不是还可以指定我们这property啊,对吧?那么你可以在这呢,把咱们这个property,把这个属性呢,给它包装起来啊,把这个属性呢给我包装进来啊,就是我现在也是你们在我配置文件中配置了一个什么STEM making对吧,然后这样一个属性把它的一个处给拿过来,或者说咱们可以怎么办呢?你在咱们这里边啊,在我们这个resource目录下边啊,在resource目录下边,然后你去创建一个h base c的这个文件,对吧?那么这个文件呢,里边把你们在我服务器的配置属性给打过来。
04:33
啊,这是第一种转达解决方案,那么第二种解决方案呢,这个其实我们直接啊,现在在连接的时候呢,其实那个属性呢,对我们来说呀,这个帮助不是特别大啊,帮助不特别大,所以说呢,我们其实可以不用那个属性啊,我可以不用那个属性,那如果不用那个属性,大家想一想,我是不是可以把你们从你们这个服务器的配置文件入手啊,对吧,你们可以直接呢,把这个配置文件呢,这个属性给我注释掉啊,注释掉对吧?来大家现在看啊,就是现在来看一看你们这h base,你们H配置文件都有什么对吧?就现在你们可以看一看,就你们h base配置文件有哪些。
05:14
O VT model在咱们H下边对吧,你们看一看对吧,然后呢,在H下面呢,去找我们这个Co,再来Co下面呢,应该有一个我们这个h base set对吧?来看一看我们这里有一个h base,然后呢sit,然后在这里看一看这里我们我其实我这里配置其实很少啊,一个呢是我a base子它呢要在我adl存储路径对吧?然后接下来那么这样的分布式的打开,然后从keep地址给它配置一下啊,其实我这里边呢,就这么几个啊,你看看你们呢。也可以看一看你们这个配置。
06:06
不是多了一个,那个多了一个是什么。就是咱们那个关于我们的stemmer mapping对不对,然后这个值是我们这个处对吧,这值触对吧,然后呢,你可以把这个东西啊给注释掉对吧,但这个东西比较坑啊,比较坑,我中午我找了一下,到之后找一下它坑在什么地方呢?然后大家看官网有这么一句话啊,官网有这么一句话。你们应该都有吧,那如果要是正常的话,你们应该都配了,如果没配的话,都感觉是吧,你们这个这个步伐就不一致吧,还不一致,所以说你说没配对吧,你的脸上其实是不对的,正常情况下你们要都配的应该是连不上才对的啊对这个坑是什么呢。这个坑啊,就是我们现在这个这个这个官网,它给有这么一句话,他说呀,咱们现在呢,这个东西它本身配完之后是不可逆的,不能回滚,对就假如说我现在配完之后,他呢,会往咱们某张表里边去写个数据,哪张表呢,咱们在我们的base里边是不是有几张系统表,我说这不是的,这是我菲尼克斯的啊,其中有个叫system catalog这个表,它往这里边呢去写一些东西,对大家看看这个吧,对吧,说以我现在呢,把这个name space的功能啊开启很简单,注意这个功能它的目的是什么呢?就是我们现在啊这个h base和Phoenix它们之间表之间要做映射,如果直接去表之间做映射的话,那没关系,直接映射就行,对吧?哎,但是呢,有的时候咱们是不是在表的时候,表的上边我是不是创建个库啊,你在HB里创建库,那你在菲尼X里创建什么呢?你创建STEM这个STEM呢,和咱们这个HB的库来做映射,但是默认情况下它是不允许你创建的,那你要想创建的话,那怎么办呢?你需要把它这个属性,你就配的是这个属性吗。
07:59
嗯,对吧,你需要把这个属性呢给配置一下,对吧,但是呢,这个官网说了,你看官网怎么说的,说a set ones,然后呢,Should not be rule back。
08:11
一旦被设置啊,那这个时候呢,就不能回滚了,对,这是比较坑的地方啊,这是比较坑的地方对吧?那咱们现在这是我要想去连接的话,那我是不是得把它改过去啊对吧?那么改过去对吧?那么咱们现在怎么办呢?你要想改过去又不影响咱们业务对吧?那么这里有一个解决方案啊,这个解决方案什么呢?首先咱们把这个东西呢,给它注释掉啊给注释掉,那么如果注释掉的话呢,那这个时候其实呢,它还没有生效对吧?因为它不能回本嘛,那么咱们需要去修改H表中它的这个内容对吧?其实呢,这个其实修改是我们这个菲尼克斯对吧,它的内容对吧?然后呢,把咱现在这个表名啊给它改成它,那具体怎么做对吧?具体怎么做,首先呢,你要对表进行修改,你说是先把这个表给disable一下呀,对吧,然后disable一下之后呢,相当于给他做了一个我们的一个快照啊,相当于在这啊把它当前这个表做快照,然后接下来把咱现在呢这个东西给他呀,大概克隆是不相。
09:12
相当于从这里做一个复制啊,对吧?复制的谁呢?复制咱们这快照,然后接下来对吧,那么咱们给他重新改个名字,然后最后把原来这个表啊给它删掉啊,你可以执行咱们这个操作对吧?但其实如果说啊朋你们你可以把这个操作试一试啊,如果你可以把这操作试一试对吧?但其实呢,目前咱们现在如果数据库有数据,然后你不影响咱们其他业务的话,那么你按照这种方式来对吧,那如果说咱们现在这里没数据的话,大家如果想把这个马上解决,怎么卖,你可以把这个东西给我清了对吧?那么如果清的话,这个事呢,也不那么简单。对,你想想我现在要把咱们这个HB的数据给清掉的话,咱们需要干什么。首先第一个筛谁。删谁HDMS上面这个是不是有一个h base这个目录啊,对吧,你把它删掉,然后现在从keep里边是不是有个h base这个目录,你是不是再把它删掉,对吧?哎,你要把这两个东西呢给我干掉,然后再重新起一下,这就行了,对吧,这重新起一下就行了,你又觉得选哪种方案。
10:15
你觉得选哪种方案更好一点吧?啊配置一下是吧,然后另外一个呢,一说到配置,你们当时在讲的时候,给你们讲过胖客户端瘦客户端了吗。在连接的时候应该有胖数这一说是吧?它俩区别在什么地方?如果咱们现在使用的,我现在连接,我直连咱们这个组keepper,我使用的胖口端口的。我使用po客端输后端判,如果是的话,咱们是不是在我这个URL里面是不是有一个C对吧,是里面有这个对吧?而且你要使用售后端的话,你要单独取一个服务吧,对吧,你也单独去起一个服务的,对吧,那么这块呢,大家一会下去把它给操作一下,然后呢,我把这个发给你们对吧,我把这个发给你们。
11:02
这个你们得去做一下,要不然到时候连不上这客户端啊。好了,呃,那么咱们现在呢,把这个给大家说完之后呢,那么接下来咱们是吧,要回过头来,那么回头之后呢,我们上午封装了一个我们的工具类,这个工具类干什么的呢?这个工具类啊,它主要是查询我们这个Phoenix,就是从我们的Phoenix来去查数据,那么这块呢,其实考察点在哪呢?其实就是我们GDBC连接这几个步骤,那么大家以以前的这些步骤肯定做过,大家可能以前没没自己封装到这个程度。
12:00
对吧,就是我现在我想封装是什么,我现在想啊,从我这个分行传递出去之后,我呢想把它转这个期望我返回是一个粒子的集合,这粒子集合放在什么呢?放在一个接对象对吧?那么这个接对象它的一个名字是什么?是我们当前这个列表对吧?那么怎么获取列名呢?那咱们其实可以通过结果集,它里面有叫get might date的方法,对吧?来拿到咱们的列名,对来拿的原数据,通过原数据里面有叫get column name来获取咱们列名这块啊,这块这个代码写一下啊,这个代码写一下,好,那咱们现在呢,把这个完成之后,接下来大家想一想。
我来说两句