00:00
好,我们同样还是把昨天所讲的内容做一个简单的回顾,首先第一个是我们所讲的have so to这个东西呢,你要稍微的去记一下,它是类似于什么样的一个东西啊,就是说have本身我们有定have这个东西可以进到一个客户端里边,那这个就相当于呢,Have这块呢,我们开启了一个客户端,直接可以通过这个客户端呢,里边有架包连到MYQ,连到HDFS。啊,连这些内容,然后呢,可以直接去操作have里边的一个数据,我们所讲的,那这个have so to,它就是一个什么东西呢?它相当于刚才我们所贝汉,它开启的是一个客户端。啊,可以连进去的,但现在这个搜你一看名字就知道,它肯定不是一个简单的客户端了,它是相当于一个什么服务端,就是把have这个整个的一个东西,把它变成一个服务,让其他的第三方的人可以来连啊,他们俩的感觉是这样的,第一个这边呢,有my circle。
01:01
有HDFS对吧,然后我have呢在这块。Be汉是直接开启一个客户端来连的,但是现在我不想直接通过b have这样连,因为你每次要打开虚拟机去连CQ3T去连进去,然后并have在里面敲搜狗,这样很麻烦。那我们就希望有一种什么方式呢?类似于我们用JDBC写代码的一个方式来连接。对吧,那代码此时在这一块,它是不是代码的一个位置处在这一块。有没有问题对吧,因为我代码是不是要去操作have,然后通过have这个内容去操作,慢操作跟HDFS这个没问题吧,那此时这个have。是不是相当于提供的是一种服务啊?对吧,因为我要接BC要去连嘛,啊这个呢是可以是代码可以是呢,第三方的框架啊,第三方的我们后面要学啊,有两个内容呢,都必须要求你这个have so two要开启。
02:01
啊,要开启的,还有里面还有其他的一个服务啊,要开启的OK,那开启了服务之后,此时这边还有一个。那就相当于什么呢?就相当于他。它也是一个客户端,但是这个客户端啊,跟我们直接的宾汉它有点区别,因为这个客户端连的是谁呀。连的是have so to啊,所以呢,你要有能用line啊,你要想用,你必须前提是什么,启动have so to,你得先把服务开了,就类似于MY搜一样,MY你是不是先去查看一下的状态,他再工作了,你才能用什么S等等这些东西能连进去吗?是一样的,你服务得先开,然后才能用客户端啊,第三方工具啊等等这些东西去连啊,是这意思,这个呢,你稍微记一下,因为后面我们还会用到,会用到,至因在代码当中这样去用啊,很少极少极少啊,几乎是没碰到,偶尔能碰到,就是这么多出级学生偶尔能碰到一个两个需求,诶,可能会回来问一下这个,呃。
03:08
代码当中连怎么连啊,如果说你在工作当中真有这个需求,你到时候随时联系我啊,这个就不统一就讲,因为就目前就是毕业的实习期来说,只有一个人遇到这个需求啊,所以呢,这个就不不当面去讲了啊,他也比较简单,因为JBBC的一个编程大家学过那个MYS,它比较死。对吧,啊,它比较死好之后是杠一杠二杠F这两个东西呢,是要记住的。而且在生产环境当中是大量在用的啊,大量在用的这个杠一杠F,因为我们所讲的你不可能说。执行一个什么任务的时候,你进到病态的这个窗口里边去写一个so去执行的啊,肯定不是这样的,然后而且呢,我们任务不是说执行一次就完了。几乎是,诶有日维度指标,就是我要统计一下每天访问我这个平台的有多少人,你是不是每天一统计啊,还有按周维度呢,还有按月维度呢,啊,都要用狂宝类似于这种调度工具来调度的。
04:05
那你想想看,你调度的话,你说进到B汉里面,你怎么调度调度不了,所以呢,我们就可以把这个东西写在一个脚本里面了啊写在脚本里面,同样的,如果说你有一个搜语句比较多,你非得放在一个文件里面,你用杠F也可以啊,这两个选用的一个就无所谓了啊,就无所谓了,这意思啊啊其他的交互命令呢,做一个了解这个东西呢,不强求大家去找握,你记住有这个有什么东西就行了。啊DFS啊,它在里边,因为其实这个需求并不多,你非得说我要去查看一下那个哈多的一个根目录下所有的一个文件信息,你非得在汉这个窗口里边去做这个事吗。对吧,没必要吧,啊,所以是这意思,还同样的这个Linux你更不会选择在这个什么have里面去执行这个内容了啊这个知道一下就行了,好之后呢,场景属性配置大家按照这个去配置,最重要的是这个就是我要强调一下这个内容。
05:04
这个东西,这个东西大家配一下,因为这个有周于,我们看你放在这个下面好找一点,他默认的在哪还记得吗。这个吧。是不是这个没完对吧,还有印象吧,这个目录底下有个have.logo因为have.log的名字我们并没有改,对吧?啊,你还是一样的,跟其他框架配置在这。啊,还在这底下,呃,但是有一个框架比较特殊啊,就是做table。是不是没改啊,如它是,嗯,你在哪起的,他就在哪。啊,所以都在那个你的B目录跟B目录在一块了k.out对吧?啊,也就是说你在哪企业它的那个日志就打印在哪啊它是比较特殊的好呃,之后呢,是这个属性的一个参数位置的一个问题,跟我们之前SD一样还是一样,还有这个类型大家了解一下就行了,呃,D点啊创建什么数据库,增删改查数据库跟那个增删改查表。
06:07
啊,增产达表那这块我要说一下,就是这个东西啊。这个东西它并不难,但是呢,它是重点。啊,学到的过程当中有重点有难点对吧,它不难,因为内外部表现在问你它有什么区别,应该都知道吧,对吧,就是主要在于删除这张表的时候,对吧?啊删除这张表的时候,那内部表呢,他认为它是管理表,数据呢归自己所有,删除表的同时数据也会删除。而这个外部表不一样啊,外部表不一样,这个数据呢,相当于是共用的,我只是提供了一个映射关系来操作它而已啊,来查它里面数据而已啊,所以呢,他们俩不一样,但是呢,这是一个重点,就是面试过程中经常问的一个点啊,经常问的一个点。就是高频高点,然后还有一个分区表。分区表呢也是非常重要的,我们最重要的就是理解这个内容。
07:00
前面这个内容第一个分区表实际上。分的是文件夹。他是从文件夹那个层面,将我们仪表表的所有数据给它分割开了。按照某一个字段啊来分割开的,来分割开分割开的啊,实际上就是分割它有什么好处。好处就在于,如果说我们在句当中。对分区字段有过滤条件的时候,这个时候可以避免掉什么?描全表扫描对吧?啊,全表扫描,那你想想看,本身就是一个海量数据,你避免了全表扫描,你效率肯定能高很多吧,对吧?啊是这意思,这是分区表什的一个好处,然后还有一个点就是添加分区和删除分区的时候。啊,这块你要注意一下,我当时说了一个点,就是我当时说的是语法比较死,这块呢,你用空格删除呢,用逗号,那你们有没有试一下反过来。
08:01
我当时说的那话,我说这个东西,呃,他一话比较死,意思大家应该都知道,就是反过来应该什么用不了啊,但是你们有没有试一试呢。没有事,这么相信我是吗?忘记去试啊,就是你们有的东西去试一试,因为我们有时候在备课或者说找一些资料的时候,对吧,根据自己的工作经验以及呃,资料大面积显示,诶这个东西可能就是说一直说中间有空格,中间空格可能我们也不会去试其他的。啊,那你可以试一试,因为有有很多内容,就像我昨天举的例子这个内容啊。谁来的,昨天我不是举了这个这个东西吗?对吧,From。啊,这张表。对吧,这是可以的,但是。我这是正好在上一个班。正好中间少敲了一个空格,我发现了,如果你单独的问我,我可能觉得这个东西可能不能执行,因为惯性思维都觉得中间应该是加一个空格啊,所以呢,有的东西呢,你觉得呃,你可以去试一试,这个东西你可以去试一试啊,这没问题,如果说觉得这个东西我当时讲的有问题,你可以直接跟我说啊,直接跟我说,因为有的有很多东西我也没有去试啊,专门的去试的,甚至这中间用table行不行啊,或者用什么书杠行不行啊,这些东西呢,呃,都没有试对吧?啊,但是这两个,因为我们目前看到的,它一个用的是空格,一个用的是逗号,那我们就可以把他们俩来试一下吧,啊来试一下,因为你报错了之后呢,你可以更清楚的知道这个问题,那我们就来试一下啊,来试一下现在呢,我们应该还是昨天那个表有一个什么第一批立项机这张表,这是一个分区表吧,啊,我们先看一下它有哪些分区啊。
09:51
呃,算了。然后呢,我们进来看一下。还有y house,然后DB发电,呃,这里面呢有零七,那我们添加一个零八和零九啊同时添加,因为单个的不存在有什么分割符的问题,对吧,它这个语法吗。
10:10
Out就是修改表啊,这属于修改表元素,这个out table,然后叫第1P小划线对吧。Part,然后呢,是不是爱part吧,Part括号,然后是month等于诶我要来一个2019看零八啊,然后我们说了之前我们是用空格是不是成功的,我们刚才测了对吧?哎删除的时候呢,是逗号,那我这块呢,我来测一下逗号行不行。把它复制一份,然后把这个改成什么。分号。说错了,他说什么?也不是不能用多少,他说缺少了一个分隔符,其实他认为呢,这个地方应该是什么。空格啊,应该是空格,也就是说这个地方呢,哎,用空格这个就OK了,然后我们可以刷新一下。
11:03
没问题吧,啊,同样的删除我们用空格行不行呢,对吧?Al table啊第一这个我复制一下。删除是drop对吧?啊drop part,那我们还是把它之前逗号我们是成功的吧,哎,你添加一个空格,那这个地方我用空格行不行呢。确定,然后分号吧,啊,两个一起扇一下走。还同样的缺少什么一个U啊,是一个分割符啊,缺少分隔符,那这块呢,当我们把这个改成什么。逗号的时候,哎,它就OK了啊,它就OK了,刷新一下两个就没了,对吧,所以像这种句法比较死啊,像这种东西咱们只能去干什么。记住记住,有道理可讲,没有什么道理。就类似于大家写shell的时候深有体会的那种。是要脚本,那个语法挺恶心的,就怪就怪什么呢,怪我们。能力太弱了,因为如果说我们自己够厉害的话,这个东西是就是我们说了算吧,啊,因为这个是定义这个语法的人说了算的吗?啊其实这个其实对于用户的体验我觉得很不好啊,两个不一样,你一个添加分区,一个删除分区,那你把它分割符都一样的,你你记的时候也舒服一点,对吧,但是这种就没办法,没办法,就像昨天我犯了一个错误,就那个OPPO和into的问题,对吧。
12:24
还记得漏的那个时候,Overright是不是要加into?但是用INSSO的这种方式,Overright就不要into。对吧,又不要用付,所以说这种东西你就没办法,你就只能去记一记啊,这种呢,确实有时候容易火啊,如果说特别是呃,有一些不常用的东西,有时候平时呢也不太用,然后突然猛然用起来的时候啊,很容易就就。出问题了啊,但是看到问题之后想起来就OK了,好,这是我们所讲的,就是我上课所讲有的东西呢,没有规一定所有的东西,我所讲的东西都会去带家去演示一下,但是呢,有的东西我所讲的这些内容呢,你课下时间足的情况下呢。
13:01
你可以自己去试一试啊,有的同学呢,去试一试,特别我不希望问到被问到什么问题啊,就是说诶,我上课讲的是这样讲的,然后有的学生可能会问,那我把这个东西换成这样行不行。我不希望听到这样的问题,OK吧,因为你换一个东西行不行?很简单,自己试一把。对吧,啊,你自己试一把就行,因为而且你试过之后,比我给你讲的你记得要更牢。你记得更牢啊,我给你讲一遍之后,你可能记得,诶大概就有一点印象,但是你自己试过,特别是这个不行的时候,他报错了,那你印象更深啊,你印象会更深一点,所以呢,有时候自己多尝试一点,因为我们在讲的过程当中,不可能所有的东西都去测试一遍,因为时间也是不允许的,我们主要优先演示的还是正确的内容。对吧,啊正确的,如果说他有错误的呢,会提一嘴,然后呢,有时候时间多的冲冲突的情况下呢,会带着去看一看,如果说时间不足的情况下呢,这个时候就要大家自己去摸索一下了啊摸索一下了行,这是分区这块的一个内容啊呃,之后是修改表,修改表呢是关于这个重命名。
14:10
啊,然后这个什么增加修改替换列的一个信息,其实修改表整个这个操作是用的比较少的,相当相对来说啊用的比较少的,因为表一个定义好了之后,而且对于一个大公司来说,其实你去工作的时候,假如说你想创一张表。这个建表语句不是你写的,不是你执行的,你要申请。啊,都是打报告申请的,说你希望建一个什么表干什么事的,然后上面审批完成了,他由运维人员跟你把这个表建好啊,就是这个建表跟你没关系啊,跟你没关系啊,当然如果你去的小公司,甚至呃有些人去了公司,就他一个人机器还没有,还要申请那个购买机器的这种,那肯定这一套都是你自己来了啊,有这样的啊,有这样的对,不需了,要买服务器了就申请,大概你需要买包什么样的服务器,你打包过申请对吧,他会告诉你什么样的一个资金范围,资范围大概告诉你未来的一个处理的数据量,然后你做整体的一个规划啊,这么一个规划,这很正常啊,像那个深圳那边好多人去了,就是那个去了两三天就开始招人,总觉很累。
15:19
去了两三天就开始组建团队啊,这种很正常很正常,其实上海这边应该也有这种公司啊,就刚起步的公司嘛,啊也有,呃,最后是这个删除表啊,删除表呢,当时就是呃,已经用过很多次了,所以就在当时就没有单独的开个录屏想这个事啊,你照个table就完了对吧,主要的我们要知道一下就删除表它跟内外部表有区别,这块就OK了啊,这块就OK了啊好之后呢,是DML的一个操作漏命令啊这块对吧?呃,这块大家也改一下,把这个变成什么。中号啊是一个可选项啊,是个可选项,因为这个是必带into的吧,因为昨天不带into的时候他是报错呀,对吧?啊不带into的候他会报错,这块要注意一下。
16:05
呃,这个命令呢,是用的最多的。啊,从因为我们生产数据的时候。都是后台过来的数据吧,它形成的是一个文件,然后你需要把这个文件导到一个表里边,那一般的用的都是那个漏命令。好,第二部分这个音色呢。紧跟其后,也是用的频率特别高的一个关键词啊,导入数据它是怎么导呢?它是从A表往B表导。因为你从原始数据导到我这个have里边来之后,你不是把原始数据就放在这儿吧,你是要对这个数据做什么。做分析做处理,那分析的结果。你就显示在页面上吗?是不是应该导到另外一张表里边了啊,你得存下来吧,你分析结果得存下来啊,也就是说这两个关键字用的是最多的,像之后的什么as select,还有location指定这个用的都比较少啊,较少甚至令port这种port,还有我们当时没演示对吧,因为它是要通过xport导出的数据才能导。
17:07
啊,才能导进来啊,这个标识,而且呢,还只能导到一个新表里边,就不存在表里存在的还不行啊,存在还不行,是这意思,等我们看一下,等会我们可以演示一下,这个呢,就是我们昨天所讲的一些内容啊,所讲的一些内容。
我来说两句