00:00
来,那么再往下呢,咱们来看对吧,谁呢对吧,这是比这个标引形呢,大概先介绍这几个,后面拿和函位数对吧,再讲副本分常集群的时函位书对吧,然后接下来咱们来看一看我们现在呢,它的一个我的SQL操作对吧,这个SQ操作呀,那它和我们这个大部分标准搜Q呢,是比较像的啊,是比较像的,所以说呢一样呢,我就不在那演示了,对吧,主要演示什么呢?演示不一样的都要演示不一样,对吧,首先呢拿来看对吧说以我现在这clean house里边基本上来说啊,就是传统的关系数据库,比如说我以买S为例,对吧,它里所有的S口口令号基本上都支持对吧,基本都支持对吧,但也有不一样的地方,对吧,比如说对吧咱看说有些呢,它基本所有语法短,你像标准的插入对吧,这个是一样的啊,标准插入这是一样的,然后接下来那么咱们的update和delete,对它这个一样不一样的,试一下呗,同学们对吧,来到这。
01:00
里,然后呢,咱们去对想删除谁呢?比如说我现在想删除咱们这个what'select from t对吧,从这里看删一个,比如说我现在想把这个ID的1020删掉,呃,Delete from对吧,然后咱们现在这个是T发现order,然后SMT,然后现在不条件吧ID等于我这个102对吧,咱们一般要是我这买so理数一个这么写删除语句。My circle删除语句是是这样写吗?啊没问题是吧,对吧,但是呢,在咱们这里边,对告诉你语法错了,对语法错了,为什么呢?因为咱们现在啊,在我们的号里边,它查询还行,对吧?但是对于我们W的更新啊,它其实呢,比不支持稍微好那么一点点就支持,但是其实支持呢,并不是特别好,为什么?因为咱们现在像什么clean house呀,像什么ES呀,像什么麒麟啊,像什么普特呀,对像德鲁易啊,像这东西它叫什么?它叫o lap吧,同学们op是干啥的,是不是做难分析的呀,你会在这上面经常玩删除吗?你会在上面经常做做咱们这个更新吗?对吧,你做大数据成员之后,这个更新呀,什么数据的操作基本上离你就比较远了,对吧,你只是对结果做一些咱们的统计分析,对吧,那么如果具有个别情况下需要去删除的话,那这个时候呢,他们把这个操作称之为什么称之为。
02:33
这个单词什么意思,不是个好词啊,来咱现在呢,来看一看什么突变,就这个东西都因突变了,对正常情况下,我本来做查询呢,它突然来一个删除对吧,那觉得这个不太好,对吧,那么咱们现在呢,那在我这里边他怎么处理的呢?他并没有提供专门的delete呀,Update这样的对吧,这个专门的语句对吧,他把它认为做成一种更新了,就他把删除,还有咱们这个啊更新,对就作为我们的AL1种了,对吧?那么如果作为al这种的话,那它的个语法什么样的呢?对吧,咱们来看一看,在这里比如说啊我想删除,那么这个时候呢,那应该是和这个al table,然后进下来谁呢?咱们的表明对T下划线,咱们的al SMT对吧,然后进来咱们要对它做什么操作,比如说我要做咱们这个删除操作,那这里啊,你现在要做什么操作,Delete要删除谁呢。
03:33
Where条件对吧,比如说我现在要删除V,咱们ID等于我们这102对吧,然后接下来一执行对吧,那这个时候呢,它都会直行删除操作啊,它直接会删除操作,对零短我删零二了怎么。来一个猛的,比如说V1对一。一对一啥意思,全干掉是吧?来我先先查询一下在这里这个是不是给咱们这个执行这个这个这个删删掉了已经对吧,把102的对吧给删掉了,把102的给删掉了对吧,好了,那么咱们现在呢,在咱们这里对吧,那我要想删除,你可以通过这种方式,那么如果想修改呢,如果想修改大家也是out table,然后也这张表,只不过这块呢,它不是delete,它变成什么了,给它update,然后你要修改哪个字段,你要修改成什么值对吧,然后这块呢是条件对吧,Update对吧,它然后呢这块对吧,你要把它修改成什么值啊,这是下条件对吧,像这两个操作呢,大家知道就行,对吧,基本上你们做的这个时候呢,比较少对吧,就是说虽然clean house呀,它可以实现咱们这个修改和删除,但是对吧,它和咱们一般的我们这个什么买so数据库不一样,对吧?那么它呢,是一个非常重的操作,而且不支持事物,就这个东西,如果执行完之后,对吧,那就删了对吧,不支持事务不能回滚对吧?那么为什么很重呢?对吧,就。
04:52
所以说它本身在删除的时候,并不是说哎,我直接从咱原来分区对吧,给他干掉了对吧?而是什么呢?假如是我现在其实也是执行对吧,这个新建分区的操作对吧,就是我现在,假如说我现在呢,要删除了,它有点类似我们的h base对吧,它只是什么呀,它并没有直接删除操作,而是直接为我们的新增对吧,新增然后做一个标记啊,做一个标记对吧,那咱们现在这也是也是这样,每次修改删除它都会导致原来分区呢给放弃掉,然后接下来在这里重新去新建分区对吧?那这样的话,大家想一想,新建分区如果数量大的话,这个事儿对吧,这个操作是不是也比较消耗资源呀,对吧?所以说这块呢,要小心一点。
05:32
啊要小心一点对吧?呃,然后接下来呢,那么咱们呀,这里还有一个建议什么呢?说由于啊,咱们这个查这个操就是删除操比较重啊吧,所以说咱们现在呢,这个突变啊,就是包括什么delete呀,多update这个语句呢,它分两步来进行对吧,那咱们现在呢,这个是同步执行的部分,其实只是干什么经我这个新增数据对吧,新增分区对吧,配板旧的打那段标记对吧,然后接下来到时候再合并一下对吧,合并的时候呢,才会触发咱们旧数据的一个对吧,这个磁盘空间是释放对吧,这个其实和我们这个比较像的啊,和这个比较像的,好了这个关系,我们现在呢,这个新增啊要更新,还有它删除这个查询操作呢,那这块呢,大家对吧,这个看一看吧,对支持子查询也可以子查询啊,也可以支持什么呢?这个CPE这个东西知道吗?公用表表达式就在咱们一个查询里边,你可以什么呢。
06:32
就是相当于给某一个搜狗去取一个名字到这里with,对,然后呢,你在咱当前查询里边这个呢,可以多次被用到啊,可以多次多次被用到这个my circle它应该在咱们高版本里才支持对吧?像原来早些版本它其实不支持的啊,他些早期版本不支持的对吧?那咱现在格号可以支持这个,然后呢,它支持各种join,注样T其实好多这个勾企业说我现在为什么放弃S老师都不能支持join,但是咱们现在click林号虽然是支持join,但是呢,其实对吧,这个也不会经常对着做join对吧?因为你想咱们在Spark里边如果一做join,它肯定会有杀分吧,对,我这个都有杀分,咱们现在的这里面一做join对吧?那假如说我现在这个SPARK1做join会有啥分,然后呢,我现在在买so里面一做join,它肯定是不是有关联匹配呀,对吧,比如说我现在两个表做join,那他肯定会当前一张表数据依次和另外一张表数据依起依次进行匹配吧,对吧,那么咱会匹配多少次呢?比如说我现在这个。
07:32
A表里边有十条数据,B表里边二条数据,那么咱一共要匹配多少次,是不是200条数两两百次呀,对吧?而且要不加条件的话,会出现一个现象,这个现象叫第2G叫D机,对吧?那咱们现在在这里注意这个你不管在哪个场景还是重都不在什么对吧?那咱们现在使用的时候呢,对吧,那也会有些弊端什么呢?这个join啊,它没有办法使用缓存对吧,就你现在做两次相同的join,那么它也会啊,使两个新的circle口,对吧,这样效率的不会太高对吧?那同时呢,不支持窗口函数对吧?这个窗口函数我觉得你们应该在哪练的比较多呀,Have里面是吧?哎,我觉得应该在have里面练,对吧,没事的时候可以找一些题,对吧,去练一练吧,没事时候可以找一些题,然后去练一练,对吧,然后不支持自定义函数,自定义函数你们在汉文里应该接触过,在SPA circle里边应该也自定义过吧,对吧?哎,这个spale现在自定义函数好像在继承的类发生变化了,你们当时这个自定义时候,咱们一般这个自定函数应该有三个,一个是UT,对吧,U。
08:32
AF是吧,然后呢,UDTF是吧,对吧,然后还有一个是udf对吧,Udf对吧?哎,那么你们现在在这个DU的时候,对吧,用的是哪个呢?记得谁obgator是吧?啊刚介绍obgator,那应该是新的对吧。嗯。啊对,有一个叫user什么对吧,有一个咱们就叫什user defend是吧,Aator什么什么那个东西的对吧,那是老版本的,对老版本因为你们正好处于咱们这个现在什么呀,它的一个版本的变化这一块,对吧版比二零还没还能用对吧,还能用对吧,但是呢,他告诉你这个应该要过时了,应该过时了对吧,然后接下来咱们现在呢,在咱们这里对吧,那么除了这个之外呢,再给大家介绍1GROUP by,对这grow里边呢,它增加了一些功能对吧,什么with rap呀,对with什么cup呀,With talk呀,到这块呢,去看一看啊去看一看,就是我现在在执行的时候,比如说呃,来到哪呢,来到我们这MT里边,我把这个数据先删掉啊,先删掉对吧,这咱们自己原始的表,我再把这数据删掉。
09:42
然后我呢,往里面插一些数据进来啊,往这里我插一些数据过来,对吧,然后接下来那么它查数据之后呢,那我现在要执行我们一个查询,注意看同学们先看这个查询s select的IDSQID,然后呢,对我们的total Mo来做一个聚合操作,对吧?那你想前面说啊,同学们按照咱们这个传统的circle考,你一看到咱们现在这些这些东西,那么你应该知道咱们在后边肯定有我BY。
10:08
肯定有分组吧,而且这两个应该是分组字段。对吧,因为我现在如果是传统思路的话,这两个东西是不是分组字段,然后加记合函数啊,对吧?然后接下来你看咱们这里是不是就这样来了,你看grow by,然后ID和SQD碳分子字段吗?只不过和它传统思路不一样地方在哪呢?在这里头多了一个with grow up什么意思呢?来看一看同学们在这里我们呀,执行,那执行完之后呢,你会发现啊,那么咱们现在呢,这正常情况下它的一个执行效果啊,这正常情况下它的一个执行效果,按照ID和我们sqidd来进行一个分组,然后把分组之后的数据呢,来进行聚合,对吧,这个呢是正常的效果,但是这块呢,它有一个什么,对吧?With rap,它看的效果是这样的。那这是怎么回事呢?对吧?来看我们的解释说明,说我现在呀,会从右至左去掉维度进统计,就是他认为啊,你在执行咱们现在这个查询的时候,对吧?那么有可能呢,你在统计的时候呢,能都是维度的对吧?你在你在咱们分组的时候,你你分组的时候对吧?你可能用的是我们现在ID和SID,但是你在统计的时候呢,你可能只想要ID和咱们这个值就行了,你不想要的SQID,那我就把这个东西呢给你干掉,从哪干掉的呢?它是从右到左对吧,咱们现在这个是左,这个是右对吧,它把右个人干掉对吧,然后接下来直调把它也干掉之后距留一汇动值对吧?距离汇动值对吧?其实这个东西如果距离汇总值的话,是不是咱和咱们直接对吧,我们现在这直接直接sum其实是一样的呀,对吧,直接sum一样的,然后这块呢,其实是不是相当于我直接什么呢?我直接格by ID这是不是一样的呀,对吧?但是人家这个同学们一条语句都搞定了。
11:53
一条鱼就都搞定了,对吧,还有更猛的对吧,更猛的说那我现在我现在想想干什么呢,我想把这个东西干掉,保留谁呢?保留SKD。
12:04
对,我想把SQID保留着对吧,那这时候怎么办呢?这时候啊也有办法对吧,然后在这里从右到左,咱们再从左到右对吧,先从左右到左去掉咱们维多金小G,然后再从左到右去掉维多金小G来看效果啊同学们在这里。电脑是原始的,然后接下来贴在从右到左把这维度去掉,然后这块呢,再从左到右,对吧,把这纬度去掉,那这样的话,假如说我现在写这一条circle口同学们对吧,我想按照谁,我想按照它进行分组,它的统计是不是相当于这个,我想按照它进分组,它统计是不是相当于这个,我想总统计,咱们这个合计是不是就相当这个一条思索经,其实呢,它包含了好多个维度啊,一条思统计其实包含了好多纬度,对吧,然后再往下走,还有什么呢。对吧,还有一个是我们这个只计算合计的对吧,还有一个呢,是只计算合计的,这只计算合计的呢,对吧?一般咱们这块呢应该对吧,你可以看到对吧,这个应该用的不太多,如果只计算合计的话,我直接我s select这个sla什么S就可以了吧,对吧?哎,我一般其他合计的这块就不太多,但是我这块其实这维度包含的比较多了,对吧,尤其是什么呀,尤其是我字段在多一点的情况下,对吧,我可以按照不同的维段,通过这一条思语句来进行统计,来进行聚合,对吧?为什么这个是关于我们现在它的一个查询操作,然后接下来再往下呢,有什么alter对吧,ALTER1看这个是不是应该是它属于什么是对表的操作呀,对吧,那么它可以什么新增字段,可以什么修改字段,可以删除字段都是out table,然后呢,在这里对加表名,然后加新增字段是这个修改字段的是这个删除字段呢是这个对吧?然后接下来那么咱们这。
13:53
里呢,再来一个同学们,我现在有的时候是不是有删除表的需求啊,删除表怎么怎么怎么干掉top呗,受key bos对,然后接下来咱们去干掉一个top table谁呢?Key_tinylo对吧,Tinylo来删除show tables对吧,来看一看这是不是干掉了呀,对吧?还有什么呢?还有导出的需求,比如说同学们咱们现在select谁呢?星from,然后T下划线,我们这个order s MT对吧,比如说啊,我现在这里有这些数据对吧?那我现在想把它导出来,那么怎么导呢?对吧?那这块也可以通过执行的这个操作来看一看它给以导出效果,对吧?那么这个操作你看啊,同学们这在哪执行呢?是不是在咱们这个这个利的直接执行啊,而不是在咱们命令窗口了,对吧?直接执行对吧,那咱们就来到我们这里来啊,在这里看什么呢?克隆1SESSION对吧,然后接下来咱们呢,把这个。
14:53
行一下对吧,大家看我现在呢,要执行什么,我要执行查询,从哪查询呢?从咱们现在呢,在这上查询对吧,从咱们这个啊这个MT的表查询,然后创建时间等于他的啊创起等于他的,然后接下来那以什么样格式导出呢?在这里有一个csv with names csv这个格式接触过吧。
15:17
是不是其实就是搜,就是咱们现在的一个这个文本形式呀,只不过文本之间用什么逗号去连接了一下嘛,对吧,然后导出到哪呢?导出的OPT model c这个RC到一对CSV下边,那咱现在执行,那么执行完毕之后呢,咱们现在来看一看,看一看OBD model,然后接下来看RS1对CSV来看一看它的形式就是这样的。对,就是这样,那么你也可以干什么呀,你也可以去找其他的一个格式,对吧?比如说我现在觉得啊,这个CSV格式不太好,那你可以到他官网上来看一看对吧?那么可以找到其他的格式对吧?这个呢,你自己到官网来,比如说我现在呢,我可以去改成什么Jason,我觉得我现在呢想要Jason格式,那就这样呗,把这个form给改一下,不要CSV对吧?那叫什么呢?Tin是吧,大写,然后进来回车,然后再去执行看一看咱们现在的形式,你导出的数据就JS形式了啊,你导出数据就是S形式了,对吧?好了,这个呢,是关于我们现在一些circleq的基本操作啊,搜基本操作,咱稍微休息一会儿,回来看这两个,稍微休息一下。
我来说两句