00:00
好,那我们从今天开始学习这个have,那我们从整体看一下这个have,我们要学什么东西啊?呃,首先我把它了解一下这块,我们主要从这个十章内容啊,你看着有11章,最后一章你稍微看一下。啊,常见错误就是如果你发现你在过程当中有一些什么错误啊,你先自己在这里面找一找,你看有没有跟你一样的错误,你自己尝试解决一下,如果你发现没有的话,然后你自己也解决了,你可以把往这里面添加几个啊往里面填啊填错误就是之前这是以前学生啊常见的一些错误,不是所有错误啊,比较常见的啊,比较常见的你先去看一下,那我们整个学习内容呢,是这十张。知识第一章是基本概念啊,以及第二章安装这个两章呢,呃,比较轻松一点,也就是说一些基本的内容,主要的掌握一下里边的一个一些条点,但是这个基本概念当中啊,呃,他可能会有一道面试题,就是面试过程当中,他可能会问的啊,我们讲到了之后呢,具体在聊啊,具体在聊这个事儿好之后呢,是这个什么数据类型,DDLDML。
01:07
因为它是一个思考,就是此时我们学的这个汉呢,后面要写思考,不知道大家那个思。学的咋样不咋样,那就正好这时候一块来好练,没学过没学过太过分了,这个MY太过分了,OK,呃,这里面呢,就会涉及到那个数据类型啊,其实呢,它跟Java当中的数据类型啊很像啊,它跟MY不一样,MY里边是什么VO差等等这些东西对吧,那这个地方呢,它就是四。啊,跟张很像啊,跟张很像,甚至它里面还有数组类型,还有麦。啊,这些都有,但是这些呢,其实是不常用的啊,不常用,然后是这个D点和D这两个属于最关键的一个点啊。DDL叫数据定义语言对吧,它是操作什么呢。
02:01
操作库啊表啊,对吧,库的增删干啥,以及表的什么增加干啥,是这些内容吧,其实这个说DDL它当然很重要,因为你要玩数据库啊,玩这些东西,玩汉堡,你肯定要有库,要有表,但是这些东西啊,也不是说你天天都在那建表建库对吧?啊这些东西呢,咱们会就OK了啊,会就OK了,更重要的是我们说的DM。对数据操作语言,数据操作语言,那这个里面就涉及到我们对于数据的什么。增删改查对吧,注意那搜当中呢,我们一直说的是增删改查这块呢,要增。山茶。并不能改,因为它是基于HDFSHDFS能随机改操作吗?看能对吧,所以说他就没有改,但是他其实能改,嗯,NDFS我想实现随机改,能不能改。
03:00
我把它下载下来,把我那个改掉,改掉之后重新上传嘛,对吧,也可以,后面我们学的有一个框架就是这样干的,只不过说这样速度是不是慢啊,他不断的去优化,哎,优化比较好啊,他是这样做的,但是你要知道还是改单字,你随机一个文件,你说想我想改一下第五行第三个单词,不好意思改不了对吧?啊,你可以下载下来,改完之后重新上传,这个是OK的啊,后面就有框架这样做的啊好,那这个是DMLDMLL呢,这个是数据操作点,我们并不是一次性给它说完,因为最重要的,刚才我们所提到的增删和查,对吧,那最重要的。就是什么差,对最重要的就是长,而且呢,它是基于HDF说的,它数据量呢很大。对吧,所以呢,更多的我们对于have这块操作是一次写入多次读取的应用场景,能懂这意思,因为数据量大嘛,对吧,啊经常改这个肯定不不不适合这样的一种场景。
04:00
它就是一次写入,多次读出,那读我们所说的你每次读的select的心吗?没意义是不是啊,那肯定有不同的方法,就读是com呀,Some啊等等这些东西,哎,他也都有,我们要学很多的一个函数啊,很多的函数,OK,那这里面呢,就是当中的一个查询,是我们要重要的一个点,然后之后还有这个函数,这个函数就是我们学的sum,然后那个avg,这些东西呢,它都有,除此之外,它可以自定义函数。买说口你们自定义,我没有,其实也可以。色哥也可以,但是呢,它其实没有这个汉方便。Have呢,就写一个Java类,然后实现相应的一个方法,然后在方法体里边写,然后重新打下包,扔到have上面就OK了,然后去写一个命令,就创建一个函数,也就搞定了啊,那就搞定了啊,还有当中呢,更重要的是我们在里边要有这个自定义函数,自定义函数,而且自定函数呢,分为很多种。这两种大家可能知道,我们稍微看一下啊。
05:02
DF还有一个就是uf udf叫一进一出。那这个什么意思呢?假如说我们想把一个单词,把它全部变成大写,全部变成小写。或者说对这个单词呢,我给它加一个什么字符串等等的,类似于这种操作,是不是对于每一行数据进来之后出去一行数据啊,这叫一进一出叫UB,还有第二种叫udf,看这个单词。A聚合叫多进一出,类似于ma密。那想看还有那个丧,我们是把整个列输进去,最后给我们出什么一个值对吧?啊,这是一个其他的,其他还有当中呢,还有一个很重要的叫UDTF。那它是一进多出。啊,它还能一进多出这个东西呢,是比较关键的一个点,后面我们在项目当中还要用到关系这块呢,我们会讲一个,呃,用的比较多的,然后呢,我们还带着大家要去自定义。
06:10
就是自己写UDTF啊,如果自己实现这种功能,那这有什么意思啊,呃,UDTF是这样的,来看一下。简单的了解一下,我们有一行数据是hello word hello have,对吧?然后我希望经过我自己写的utf函数,哎,我指定一个分割符,动画分割的。然后完事之后,它出来四行就一行变四行。啊,一行变四行是这个意思,这就是我们所说的一进什么多出,这个一跟多指的是行。一进一出也是行,多进一出也是行啊,讲的都是行,几行数据,几条数据这个意思,这里面的函数是比较重要的,呃,里面自定义呢,我们可能会大家自定一些简单的,在生产环境当中,可能因为由于你业务比较复杂,它提供的函数呢。并不能满足你的需求,你只能去干什么司令,而且你有时候你那个过来的,从后台过来的日志格式千奇百怪的啊,传统的手段处理不了,没办法,只能干什么写代码去处理,因为一个字符串,无论他再复杂,里边说什么串了很多这个双引号,什么大括号给你用代码处理是不是都好处理了。
07:21
对吧,啊,用代码的方式去处理啊,那自定义函数就是要写代码的方式去处理啊,这函数,那我们最重要的几张内容呢,就是这个。最重要的三张内容,567这三张是最重要的,而且无论是面试还是那个,呃,你的工作两块,就目前来说,上海这块的一个就业场景以数仓为主。输仓的干事呢,就是拿have,然后写海口就对数据进行分层,这个是最主要的一个工作能力啊,最主流的就是have这个框架啊,就是后后期我们找工作的时候最主要的一个内容。
08:02
然后呢,我们用的最多的就是里边我们所说的这一块的一个东西。因为无论是面试还是笔试,我们有很多的一个面试笔试题啊,后期在我们上到呃四五天的样子的时候会发给大家,大家自己去看一下啊,有的题呢,我会挑出去讲一讲,因为这个have对于大家找工作,无论是北京深圳还是上海,这个have对于大家这个找工作来说太重要了。啊,太重了,OK,那后后面还有几张来看一下压缩和存储。因为你是处理大数据的嘛,对吧,所以呢,它肯定有这个压缩,还有存储,那存储指的什么意思呢?因为之前我们大家一直用的是TXT格式。对吧,啊tsc格式,那这种格式呢,是最普遍的一种格式,那除了之外呢,我们还有杰森数据,还有那个什么其他的一个类型的啊,类似于帕克啊,还有那个OC啊等等啊,这个你先没听过没关系,后面我们会聊,就是两种区别,一个是压缩,一个是存储格式。
09:02
存储格式指的是类似于TXT这一级别的一个内容,那压缩大家比较清楚一点对吧?哈,多宝学过啊,什么加拉斯罗。对吧,啊,这两个在生产环境当中用的是最多的。用的是最多的,他们俩之间有什么区别?对,其实他们俩都挺快的,对吧,啊都但是更快,但那他有比发自有一个缺陷在于哪。不能。不能省不能切是吧,哎,不能切,如果说你的中间数据还要做继续处理的话,你就不要用了。哪里,因为它不可切,假如说你这个数据是你用一个处理完了之后,它来了十个G一个文件,第二次这个处理的时候不可切,这个问题就严重了吧,对吧?啊,但是拉自罗呢,它是可切的啊,这是他们俩最核心的一个区别,但生产环件当中这两种都有啊,更重要的就是他们两个一压缩比挺高,都挺高的,当然性间比其实更高一点,对吧?啊,更高一点是这意思啊,呃,就是压缩和存储也是跟这个,最后还有这个企业调优。
10:14
其实调里面呢,也有这个压缩和存储。啊,那so的调优,那因为它底层走的还是map,所以你们之前在mmr当中学的那些调优策略,在汉语当中一样了。适用同样适用啊之后呢,是我们会花一天的时间呢,讲一个。小安利。三类里面呢,应该是八个海口,八个海口基本上我们学到的这些东西啊,场景都会去有啊,包括我们会运用一些呃,常见的一些调优手段啊,调试手段,但说实话,其实我们现在玩数虚拟机,然后就我们那个虚数据量而言,你可能采用了调优策略之后,反而变慢了。这是有可能的,这是有可能的啊,调优策略,因为调优策略注意它不光是让我们搜索跑得更快,还有一个更重要的点在于之前不能跑的色高,现在能跑了,这个是不是要用。
11:12
对吧,就类似于很简单的道理,你之前就让我们上午举的那个例子,对吧,上午我们所写的那个内容,所写的那个,我们明明可以到那个源,所有数据放在源去做统一的处理,是不是可以做这个事,但是你这样写的代码逻辑没问题,有可能随着数据量的增长,你这个任务是不是跑不了。对吧,那我跑不了,那我们换成两个M,可能它速度变慢了,但是一定能干什么。跑成功对吧,慢就慢一点,所以调优不是说哎从五分钟到两秒,这个叫调优啊,这个肯定是调优,但不不仅仅是这一个,还有我们所说的之前跑不了的,现在能跑了,那这种呢,也叫做调优,能懂啊,所以呢,调优策略时候,你到时候关注一下啊,最后就是这一种,还有呃,这里边呢,就学到三四天左右,我会提醒大家,现在你关注一下,这里面呢,有一个这个。
12:08
答案在里边吗?我应该把答案干掉了。哎,对。那就可以了,就是这个题呢,学到中间的时候,当大部分我们所有的函数都学完之后,我告诉大家,大家把这个东西去做一下,这个题呢非常经典。啊,非常厉害,这是蚂蚁金服,蚂蚁金服的一个面试题啊,收仓岗位的就是上海的,上海的,呃面这个的学生呢,他当时是京东过了,蚂金服也过了,然后现在在百度,现在对他百度也过了吗?现在。好,这是我们整体的一个介绍,就是我们要学哪些东西,而且呢,你要把握重点啊,567这块,你要是觉得自己买搜的不好呢,你可以去找一些题去练一练啊,找一些题去练一练。
我来说两句