00:00
好,那我们同样把昨天不是不是昨天啊,前天所讲的东西呢做一个回顾,呃,那刚开始呢,我们是介绍了汉它的一个概念,那大家现在应该怎么去理解这个汉网工具,大家在就是现在学到现在为止,当然我们没有那个增删改查,具体的还没有去减,那无非后面就是在讲它的一个增删改查了啊对吧,创建表我们也有了,然后呢,这个基本的谁带新啊,抗的新我们也看到大家看的有些问题的话,我们要要去解决下这个问题,对吧?呃,那大家是怎么理解这个have的。这你们怎么看呢?他定相当对,有同学提到了,他说是用搜的方式去操作点FS数据,可以这样去理解,对吧,其实我们之前说的汉呢,我们整个理解就把它当做是哈杜普的一个客户端就好了,对,因为它存数据呢,依赖于我们HDFS计算呢,默认情况下,这个时候你要知道应该讲默认情况下依赖于我们什么。
01:31
MR默认情况下,因为我们知道除了MR,它还有T子,还有Spark,对吧?默认情况下呢,是这个MR啊,就相当于是哈多的一个客户端,就像类似于一个工具对吧?这些工具呢,有助于我们做数据分析,因为我们不需要写那的,直接写hi客就好了,它自己这个框架呢,会将我们的hi口转化成MR的一个任务去执行,帮我们分析到结果。当然既然你写的是hi口,所以它对于数据的要求就跟MR不一样了,他要求必须得用什么结构化的,哎得我能在你把数据给我的时候,我能够给他去创建一个行列信息。
02:13
对吧,更重要的其实是练习器行的话,你就动态去扩展的对吧?啊就是说那你每每一行数据当中。按照一个固定的分割符,你的列数应该是一样的,我这样才能见表啊。如果说你列数都不一样,那么我就没办法进表了,对吧,你第一个一个列,第二个两个列,第三个三个列啊,第四个又什么两个列啊,第第四个又什么五个列啊这种的,那我就没法玩了,对吧?好,这是我们所聊的have有的一个概念去把握一下啊呃,最后呢是优缺点,其实这个东西呢,你了解一下,因为越往后学啊,这个话就会很明显,我们学到后续的分析框架的时候,还要过来回头跟have做对比啊,还要做对比,所以优缺点这个东西能记就记一下,记不住的话也不是说什么重要的点,那接下来呢,是所谓它一个架构,架构当中呢,起码这几个东西你要记得住,解析器,编译器,优化器,执行器,对吧?啊,你要去掌握一下,然后除此之外呢,这是汉武相当于他这个客户端这块的内容对吧,原数据默认多,比我们一般把它改到my soq对吧?啊那因为方便我们看原数信息,同时呢,可以支持多。
03:28
个用户同时操作我们的哈,然后接下来是它所依赖的默认引擎MR以及数据存放地点HDFS,而且我们当时就看到了,对于汉堡而言啊,你的HDF里面数据和这个东西只要两个人存在,我不管哪个先有。只要两个人都存在,不用管原数据先先创建的,还是说数据先放进去的。是不是都能够查得到数据,对吧?啊,其实他就是找原数据,在原数据当中找到我们的路径,然后呢,去对应的HDFS把我们数据拉回来。
04:10
所以说这两个东西,当然我们是不是使用put比例来做的,对吧?I往里put它都能查得到,甚至你还能做一个事情,做什么事呢?你手动使用哈度命令去创建一个目录。穿那个目录最好就穿在user have will house这个目录底下,因为默认的库在这嘛,对吧,你放在其他的库其实也行,因为我们今天就会讲到建表语句,间表语句,它里边还有一个参数,可以指定表存放的位置,可以手动指定,默认的是放在use have willhouse的,我们当时见表说只有可以的table,然后一个什么表明,然后给一个字段呀,对吧,只有这么多东西。那其实它还可以指定啊,那不指定话是默认的,也就是说如果我们自己在这个地方啊,稍等关键缩小一点,因为我们自己在HDF的某一个路径叫user have house这底下我们手动创建一个表,假如说我创建一个目录叫A,我创建一个目录对吧,然后呢,我手动的往这个A目录底下C一个文件啊,我C a.TS b.TS随便。
05:25
然后我到have里边去创建一张表,叫A。这样也能查到数据。也可以啊,这目录的手动创建的都可以啊,这都可以啊,这要注意一下,也就是说它是两个东西呢,相当于是分开的我们所写的创建表的语句。更多的它是创建了一个什么原数据写到买色里边了。想要买service里边原数据,当然如果你创建的这个表材质DF目录,这是不存在的,它不就把这个目录创建好,如果存在了它就不创建了,因为存在你再创建就报错了嘛,它是这样的一个情况,所以两个可以去分开的啊,因为我们当时就用了破命令,但是这个破命令啊,就当时给我们带来了一个很奇怪现象,就是抗新出现的数据不对的情况,对不对,对吧,等会呢,我们要去给大家解释一下这个什么原因导致的啊,我们把所有的现象给大家演示出来,其实最好是放在最后面,因为它还有一种现象里边呢,还不一样,那我们先讲一点,后面遇到那个情况的时候,我们再把那个再扩展进来啊,啊,这是我们所聊它的一个架构。
06:31
啊,这个东西,然后之后呢,是数据库的一个比较最重要的,我们刚说了相同点就是它的一个程序语言。对吧,就是它的一个语言啊,不一定是查询语言,就是说见表我们发现是不是也差不多,就是类型不一样,你买色当中呢,用的whatup,我这边用的可能是spring对吧,就类型不一样啊,其他的都差不多啊,查询语句呢,那就更像了啊,C like的新看新对吧?啊,Some这些东西都可以啊,好,那它最大的一个区别就在于他们所处理的数据规模,数据量是不一样的。
07:06
这边最大的区别,由于数据量不同对吧,导致他这一个有数更新延迟这块东西呢,都不太一样。啊都不太一样,之后是安装,那安装这块呢,大家要按照顺序往下走,那这里面呢,容易犯的几个问题,就是最后说诶起不来,或者说什么情况对吧,我们重点来看一下安装整个流程我们就不聊了,那首先呢,呃,其实你安装好之后就可以去使用了。就可以使用了,但是这个时候呢,他用的是德比数据库。不支持多用户对吧,你可以再开一个窗口,可以自己测一下,那有同学啊,呃,我不知道大家对于这个德比这个数据库应该是测的不多是不是,嗯,有测吗?还是直接就装的白色更好测了一下对吧?那有没有同学发现我开我用的是德比,开两个窗口也能用,有没有同学发现。没一个人测出来这种情况吗?没有是吧?啊是这样的,跟家说,如果说这种这种是什么现象啊,呃,CD的OBD,因为大家比较守规矩是吧,就是假如说这是一个刚刚解压的任何参数都没有配置的,它是不是德比,正常来说我们是可以直接用be have就可以启动,没有问题吧?啊那我们当时说了,你启动了,我再开一个窗口,我当时测试的时候是报错了,对吧,我是不是进到这个公路底下去做的这个事情,那有同学之前带着同学呢,他就可能不太守规矩,他做什么事呢?哎,我就在这,反正我配的环境变量。
08:43
对吧,我配个黄金变量的话,我是不是可以在这也可以直接开房,哎,发现用的是的,虽然用的是得力。这两个能共同用。可以共同用啊,我们大家说一下原因,我没想到发正一个都没有啊,呃,那是因为呢,在单位数据库,它在建原数据的时候,以及它生成日志的时候,他用的是当前目录。
09:08
嗯。他用的是当前目录,也就是说这个地方我是在汉目录底底下起的be have,而这个地方我在module底下起的一个have,它自己拥有自己的语言数据库,他们俩数据是不互通的,虽然都能起得来,但是你在第一个窗口里面建表,第二个窗口是看不到的。嗯。因为他在这儿将会放一个那个原原输入库的一个地址,就这个东西啊,就这啊没达斯多DB,这不有原数据吗?对吧?啊,一个数据库它放在当前路径底下的。我们当时是不是看到他报露信息说已经有另外一个,你看这啊,说已经有另外一个实例用了这个什么原数据库了,对吧,不是刚才那个路径吗?啊,如果你换一个路径是,哎,那个也能起得来,但是这个不属于多用户模式了。
10:10
各位用户还是怎么样啊,独立的你去建表那边查不到,那这个有什么意义啊,意义不大了对吧?啊,所以如果说大家测这种情况应该知道,诶这个上课好像不对呀,说当时说不能两个,我这边怎么两个了,那是因为你启动的路径不是同一个路径啊,而且你进去了之后,你看到刚才那个窗口创新的表,这个窗口也没有啊,看不到啊,这个地方呢,呃,到到时测不测也无所谓啊,这个东西你知道一下就行了,就是我怕大家真的有同学测出来这个问题,哎,说可以多用户啊,上课讲错了是吧,不是这个意思啊,因为上课呢,咱们是什么两个都在汉语目录下,那他找的当前目录是不是都找这一个目录啊,那你被占用了就不能再用了,是这个意思OK吧,啊,这个大家了解一下就好了啊呃,之后呢,所以这个东西呢,大家都到应该没啥大问题,因为它没有任何的配置文件嘛,对吧,那么接下来到这个MYS安装的时候,就会有一些多多少少的问题了,就是对。
11:11
第一个有的同学呢,可能这个东西怎么样啊,没卸载没卸载应该是装到我看啊,好像是装到第二个吧,他好他好像会有问题对吧?啊具体的我不知道第几个应该我记得好像是今天看到应该是第二个,第二个就会有问题,你看他报错信息啊,他呢肯定会出现这样的一个提示,对吧?那如果安装的时候第二个价包呢,就出问题,RPM包出问题了,一般就是你这个之前内置的这个买搜这块相关的依赖没有干什么卸载啊,没有卸载导致的就是这个原因,这是第一个容易出错的地方啊,就是说前面这个内容呢,你没有卸载就没有按照步骤走嘛,我当时上课就说了,文档写在这,但是有很多同学呢,就不按照这个步骤去走。
12:03
对吧,啊,这中间跳步骤啊,有这样的现象啊好,那接下来还有一个问题就是往下走啊。就立马。关于这块的问题,这块呢,我们是进到这个目录底下,不是说这个注意啊,这句话应该能读的懂吗?不是说把这个配置文件删掉吧,有同学一看到,哎,删除这个东西后面都不看了,他把这个删掉,那这个肯定不行,对吧?这是它配置文件,你不能删它呀,他说的是删除这个文件当中在塔DR指向等目录的所有内容。对吧?啊,指向目录的所有内容,如果有内容,如果有内容你就删一下啊嗯,因为正常的来说,大部分同学是不是进去看了都没有东西啊,对吧,有东西你去删一下啊,还有可能存在一个什么现象呢?用速度,虽然你配了速度,但是有可能用速度删不了,那你就怎么办,你都看到它删不了了,我们就切到root去切,直接切到root到这个魔录底下去删一下,对吧?啊,那把它删干净,然后呢,去出口宝去找它这个密码就行了啊,这是第二个点啊,容易出出问题的地方,就是正常来说呢,应该是没有东西的,如果真有东西你就删一下,拿速度删不了,拿入去删一下啊,然后呢,重新去初始化啊,不要不要不要错了,不要再初始化,甚至在你已经启动了服务之后,你再去删它,那这个就有问题了。
13:34
因为此时你都把买赛克服务启动了,那么这个里方放的东西就是你当前服务所需要的东西了,对吧,你这个时候给他删掉了,你觉得你的买斯克服务还能正常吗?这不行了,他必须得在你初始化跟启动之前去做什么。去删啊,不要搞错了对吧?啊,不要在我初始化之后再去删,那这个就不对了,你把你那你刚才做的初始化不白做了吗。
14:02
对吧,就相当于没有做初始化了,是不是啊,是这样的一种情况,这要注意一下,好之后呢,查看密码去登进去,登进去之前呢,先要启动,然后正常登进去,设置了新密码,刚才我说了设置新密码你要记得住,因为这个密码呢,是后面要配到哪的呀,Have have置是不是have-said里边啊对吧,也有同学说,有的同学经常呢,就是这个密码跟这个地方的密码怎么样不一致。对吧,又报错了啊,又报错了,这个要注意一下,当然我还强调这个事情,如果这我当时说的是密码,你设置成什么我不管对吧,你至于你叫六个六个零还是123456还是什么其他的这个无所谓,你设置一个自己好记得就行了,不要搞太复杂对吧,自己到时候都忘了,不管设置是什么,你要跟咱们这个地方要干什么保持一致,对吧?啊,当然有很多同学呢,就没有保持一致啊,所以导致最后又起不来对吧,出现这种情况啊,所以要注意一下啊好,这是咱们所说的MY安装这一块呢,主要这些东西啊,那最后改密码你要记得住。
15:10
啊,你要记得住啊好,那这个呢,是我们配置这个原数据到MYSQL对吧,那拷贝驱动这个驱动大家好像是没有遇到过这个问题的,嗯,那如果说驱动没考他会报什么错,有同学知道吗?连不上,肯定是的报的异常,有人知道吗?找不到驱动类,他报的是class not found找不到驱动类啊,因为他要利用,因为我们写的这个地方是一个字符串嘛,相当于他要根据字符传,通过这个字符转,通过反射的方式找到真正的这个类,然后呢就构建对象对吧?那它在这样反射的时候呢,它就找不到这个类,因为你连驱动都没有,所以他根本就找不到这个类,它是应该是报一个class not phone的这个异常。
16:05
而且呢,报的就是这个衰,就这个东西,他说这个类找不到啊,因为你确实没有,那你要知道啊,是没有的,但是咱们班没有出现这种情况,没有出现这种情况,因为大家都考了,所以后面如果说在安装什其他内容的时候,像驱动找不到,那一般都是你这个驱动包没有放到对应的目录底下,当然你第三方框架目录底下啊,这个have,如果have里边说启动have的时候找不到,那就是要放到have底下,假如说后期启动什么a ABB这个框架说找不到一个驱动,那就ABB框架这个立底下要放什么。放当前那个驱动包啊,是这样的一个东西,好之后呢是配置,配置这个地方呢,就是说就刚才我们已经强调的一个事,对吧,密码的问题啊,密码的问题,那如果说密码被错了,他报的错是什么。不让连接,应该是access,就连接的时候出错了,他说用root at,他杜102啊,后面的括号use me,呃,Use这个password yes思对吧,这种情况它不要连接,那往往这种时候呢,都是密码错了。
17:19
啊,都是密码错了,或者说这种情况,还有一个,还有一种也会出现这种情况,就是最后呢,你在安装买的时候,这个东西没配,这个东西没配的话啊,如果说你拿着生样本或者那看,或者到103你只装一个买S客户端,我想连到102的服务里边,他同样的都会报一个错。因为默认情况下,当时我们看到它是用local host呀,只能从本机连啊,你拿着入的用户at后面是机器,诶它不让你连,就是拒绝连接相当于啊,那呃主要的问题呢,就是可能密码错了啊,或者就是权限,如果你本身就在102上连的,那绝色的情况下就是这个密码错了啊,如果说你在另外一台机器上,那102连的好好的,在其他机器连不上,诶报什么拒绝连接access这块有问题那。
18:18
基本上就是那个权限那块给的不对啊,就还是logo号没改啊,或者说我改了呀,那可能最后这个flash这个刷新也没做啊,很有可能存在这种情况啊,所以说大家可能遇到情况,当然这个问题好像在咱们班上也没有对吧?啊,所以呢,就跟大家说一下这个事啊,跟大家说下这个事啊呃,那之后呢,是正常的往下走就好了啊,前面如果说都正常的话,正常往下走对吧,包括我们后面配的东西。啊去对应的去背一下,但这里边还要强调一个事情啊,在我们如果已经配置了,我当时也强调很多次了啊,我还是打开我整个的还有一个配软啊洗了稍等一下啊康复还有刚散的注意,如果说我们已经配了这个属性的话,那你进入汉客户端之前就并have这个命令执行之前,你要先开什么对mto原数据屏幕给开起来。
19:28
OK,如果一旦配了这个啊,那就必须得开啊,要不然你是能够进到这个客户端,但是你受贴过斯的时候,它就报错了对吧?啊设波词它就报那个原数据有问题啊,初始化不了,但什么原数据have session这个东西初始化不了对吧?啊罚的错啊呃,那如果说咱们配了它。配了它,配了它呢,也不是说一定就非得起了,这个时候假如说你配了have so to的这个服务,我没起have so to的服务,我用b have是能连的,但是用b line连不了,用b line这种方式就连不了了,因为b line这个方式啊,它连的是什么have so to这个服务的,你看它连的就是哈1021万端口,而我们刚才看到have so to这个地方,它用的就HELLOWOOD102以及什么。
20:28
一口。对吧,而且如果说你想用B去连的话,你不光要开这个have so to,还得开什么麦达so啊都要看,所以说你用脚本去看一下就好了,而且要多等一会,你刚说了对吧,因为他为交接一次,如果你不等的话,你刚把那个脚本start执行完了之后,立马就去连平带,他会告诉你去连接,有同学测过这个,嗯,有遇到过是吧,但是等了一会之后就怎么样就好了,说不是要等到status说两个服务都已经正常的时候去连就可以,对吧,如果被他做服务正常,然后have so to服务异常,这个时候你去连的时候,虽然你已经执行过脚本了,你去连的时候它还是说拒绝连接,对吧?因为它没有真正的启动啊,就是有一个初始化时间比较久,所以这边呢,有个红色说了,需要多等待一会,最后呢,你需要通过那个状态信息看到两个服务都是正常的时候,你才能用A去连,要不然都连不了,要不然都连不。
21:31
这个要注意一下啊,好,这是我们所要,那最后呢,我是把这个地方给他干什么住掉了啊,因为这个地方第一个你要起的服务很多,第二个呢,对还慢对吧,比较麻烦,那我就助掉,助掉之后直接可以用BCA进去了啊,不用起任何服务了,比较方便一点,但是生长环境当中这两个东西都是开的啊,用脚板开也因为生产环当中那个服务器你不用关嘛,咱们这个你每天还得关对吧,你关第二天得启就比较麻烦。
22:02
如果说你不觉得这个早上,反正我就起这一次,我而且脚本写好这个也行,这个倒无所谓,用笔量去连,对吧,他最后呢,呈现的那个表会有格子能看的清楚一点啊,它的好处就在这啊,但是坏处呢,也挺明显的,就是起的服务比较多,对吧,还慢啊,这也是主要它的一个缺点啊。好,这是我们所聊的另外两种的访方式,通过原数据服务以及have so to去访问我们的have,对吧?其实这两个东西呢,主要是给第三方用的,如果公司当中没有第三方,假如说没有另外的软件用的APP,你也不需要在我们的I idea里边去。起circle操作我们的have,那我们用be have就好了,直接用be have就好了,任何服务都不用起,对吧,要料不用起啊,直接用be have就好了,之后呢,所谓的交互命令,那我们主要讲的就是两个啊,一个是杠一,一个杠F。对吧?呃,不进入交互窗口,也就是不登的窗口里边,我可以直接在外面去执行,那其实这两个东西呢,我们说了,刚才说了这两个东西主要是给我们干什么用的啊。
23:07
直接在表里直接可以查出来。杠一跟杠F主要给我们干什么事用的?对,写脚本用的。啊,写脚本,因为你写脚本的时候,你不能说我在脚本里面说登到这个b have里边,然后去操作,这个是可能吗?这不现实的呀,对吧,说打开一个CT查shell去登到beha里边去执行circlel,那这个不现实,因为一般的我们脚本都是凌晨用一个,呃,类似于cable的工具。去干什么,定时调度的,晚上运行的对吧,不是说我想执行的,每天12:12点半我执行一个搜狗,我咔打开电脑,然后用插试去连一下登到BC里面,把这个S自己粘去跑,你觉得这靠谱吗?那肯定不行,肯定是我们已经把脚本干什么封装好了,然后定十十二点半的时候就触发当前这个脚本的执行,对吧,那所以杠一跟杠F呢,是为了我们脚本去使用的。
24:12
啊,给我们脚本去使用啊,通过这种方式的对吧,那杠一跟杠F它们俩之间又有什么区别呢。杠E是不是后面跟着S呀,杠F后面跟的是文件,其实文件呢,相对来说更灵活一点,就相当于它又拆开了,把我们执行跟搜给它解耦了,那你想一个问题啊,假如说我写了一个脚本。我脚本里边用的是刚一刚一后面跟着S,突然有一天我这个搜不想这样跑了,我想换一种搜,你是不是要直接对这个脚本去改啊,改这个S吧,啊这脚本里边是不是不光有这个S,还有其他的什么东西,因为脚本里面你可能要获取是时间啊,获取其他东西,那如果杠F呢,我脚本里边是不是就写的杠F执行这个。
25:06
文件的路径就好了,假如说你要改色个L,我是不是改这个文件就好了,而这个文件里面是不是只有S呀,没有其他东西对吧?所以呢,就相当于做了一个什么接偶啊,做了个接偶就是从管理上呢,可能更灵活一点,杠F这种方式,如果杠一的话,嗯,咱们是不是要把脚本的执行跟S跟带要执行的S放在一起的呀,对吧?而杠F是不是可以把这两个事体给它拆开对吧?啊给它拆开,所以更灵活一点,其实没有什么大的差别。啊,从本质上来说没有什么大差别,因为这那有可能可能想啊,哎,我当时运行的时候杠F是不是里面放了两条搜口。我杠E是不是就放一条色格,那大家有可能有同学在想了啊,诶是不是说杠E指的这一条色格,然后杠F可以这个文件里边放多条色格呢?其实不是的,这个刚一也可以执行,多是调色考啊,那我们来看一下啊,就是说本质上他们俩没有什么区别的。
26:04
刚一然后呢,我们写谁的行,让我这个,我们这前是不是有一个太表啊,对吧,我再把这个再来一份,我也不写其他的对吧,我再粘这一份。但是你中间要用什么分号隔开,如果不用分号隔开,那就一个词分语句了,那这个词个语句就不对了,对吧?搜格当中没有分号是不是就是它对于have卖so而言,它认为是一个色克呀,对吧?那一个色你呢写成CT后面再跟一个C等。那肯定不行对吧,你看这是不是执行了两遍吧,因为我们就是两次嘛,哎,用杠E这种方式呢,也可以执行多条色口,那杠F一个文件,那更可以进行多个了,对吧?啊是这样的东西,其他交互命令呢,就不用太多聊了,这些东西呢,都不是特别的常用啊,都不是特别常用啊好之后打印裤头有什么问题吗?裤头和表头啊。
27:06
不是这这有什么好聊的,然后后面呢,我们聊了一下这个相应的一个配置参数,对吧?啊配置参数的位置信息,以及它优先级啊,这个就到比较好理解对吧,没有什么难的啊像这个呢,我们先。
我来说两句