00:00
好,然后我们看下这个。第四个需求叫统计视频观看数千50。这个没问题吧。啊,这个没问题,第二个说所关联视频的所属类别,Rank。那这是两步,那我们一步一步求第一个。这一步没问题吧,把刚才那个拿过来20改成50对吧,好,这个时候他要的是所关联视频。所以上面我们要的是category,这个时候就不是categor,应该叫VD的ID,对吧?啊,它同样的也是一个什么。数组对不对,对吧,它同样的也是一个数组,他要这50个所关联视频的什么。类别。那这是什么意思呢?首先第一步我们把这50,我们俩我们求超过五吧,因为这个数据好说一点,等我们写的时候把五改成50就行了,So,不用不用动其他的内容,对吧?啊,假如说五好,我们首先要把观看数前五的,假如说前五的是ABC。
01:10
D这五个人对吧,这五个视频观看在前五,那我们拿到他的同时还要拿到他这个什么ids后面那个对吧,Ids好,假如说呢,你有三个关联的,有那个什么呃,F啊,G啊,S啊等等,同样的它也有一堆,那还有一个问题,这个C是不是有可能也有一个F呢?对吧,还有D是不是有可能有一个H呢,所以说这个里边你要做什么事啊。是不是炸裂完了之后要做驱虫操作?因为你现在关联的大家一样,你在求类别的时候,是不是把这个算了两次,这就不合理对吧?啊,我要的是关联视频一个就够了,所以呢,这里面你要注意一下,有一个去重操作,一个去重操作好那我们继续往下说。
02:01
假设这每一个视频关联ID都像现在写的,都是三个,那第一次拿到这TOP5之后,是不是要对关联视频进行炸开?拿到多少?15个视频。是不是15条数据假设每一个人都是三个,这个不一定,因为在这里边他不像那个,我们刚才看到类别,类别可能一个两个,是不是关联ID比较多啊,当时我们看到对吧?啊,假设我这个是假设啊,三个每个人呢都是三个,好,那接下来你拿到这15个ID。你接下来要做什么事?你是不是要拿到这15个ID视频所对应的?类别。还要炸裂拿类别怎么拿?怎么能获取到类别啊,因为当前这个里边有类别吗。这个类别是ABC的类别吧,我类别要的是FGH的类别,对不对,是不是要去关联原表。
03:03
对吧,取出来它的类别,然后对类别进行什么战列。啊,类别炸裂炸裂完了,最后求rank炸裂开了,求求的rank实际上还不是我们所说的把它次数。就包含的视频的个数,然后就干什么求和,求和之后呢,排名吧啊求和排名最后就简单了,主要的在于这中间有两次炸裂啊,其实你分析清楚了,一步一步写应该不难,那我们来写一下第一步是干什么。前我们还回来,因为五个好讲一点,对吧,五个三个好举例子好说一点,因为你要十个我就保险,所以我们还是求前50,前50我是不是直接从这个地方来拿一下就够了。来拿一下好,那这个里边这些东西要么。有用吗?没用对吧,那我们把它。
04:01
因为这个VID你写在这很容易对后面造成干扰,因为后面你是不是也拿微ID,然后还跟原表进行交易嘛,所以这个时候你就不要不要写它了,你要写谁啊。这个ID给他写上,他有用吗?没有。观看数我们先放着吧,啊,好看一点啊,我们把它50对吧,50啊这个内容,那我们。干什么把他嗯跑一跑对吧。因为前面是related ID的这个字段呢,比较长啊,它就会比较长一点。因为最多的会关联20个吧,对吧,啊会关联20个就会显得很长。还有一个问题,哎,就是这个views我不写。
05:01
这个东西能不能执行啊。这个首先这个结果条没问题吧,好。想一下为什么?这个语法在MY当中绝对能过的,对不对?到了这儿不行。他说你写了一个无效的列叫V,他说你这个列可能名字叫的ID。也就是说这个东西啊,什么时候运行在最后吧,对于MR任务来说。你传到最后的时候,你只有一个的IP,我能按照其他的东西来排名吗?能听懂,就是你不是写MR任务吗?因为你MR任务最后的结果是不是只查他呀,那你读的时候需要读其他内容吗。不需要了,那你没读,最后我准备做排序的时候。
06:03
你有吗?没有,所以你这个要注意一下,所以我演示一下啊,这个必须要带的,那他跟那不一样,他不一样,因为读数据的时候就决定了将来我需要读什么东西啊,读什么东西OK。好,第一步呢,这个前50我们已经拿到了第二步。对。T1表。中的。谁ID了吧?啊,不是category啊,对这个东西进行什么炸裂?啊,进行一个炸裂啊,进行炸裂,OK,那我们写一下啊select。炸裂后我叫。诶。幺零后,我叫的。叫这个名字可以吧啊,给它区分一下啊,给它区分一下啊,之前呢,是什么驼峰命名,现在呢用下划线命名啊。
07:04
是不是只要这一个字段就够了,其他的还需要吗?不需要了吧,不需要了啊。然后from这个。T表是不是啊T表,然后对这个T表要进行letter。Well。啊,然后。对这个related ID进行一个查列,啊,这个呢叫ILA。They related time,或者说跟之前保持一致,叫time,写在前面的是吧?啊,这个无所谓,其实啊,就一个别名,As。E。啊,韦雷匹达丁这个吧,啊,那我把它干什么跑一把啊,把它跑一把,这个数据就没法估计有多少,刚才之前我们看到说那个类别炸裂出来20条,炸裂成22条,因为很清晰的看见只有两个,有两个对吧?啊这个呢,你就不知道了,不知道我们看一下它有多少条就知道了。
08:04
C。走。无论怎么样,这个东西呢,我们要对它做驱虫,对吧。是不是在这个时候要做聚拢啊,对吧,那这个聚容应该怎么做呢。还是根据之后的的程序。我们是不是分一下组就行了,对吧?啊,分一下组就行了,那分组首先这样,这个T2表已经写了,我直接对T2表分组肯定可以的。对吧,我select然后的ID,然后下面from tr,然后group by的ID,这个肯定可以吧,但是就是在这个里边我们能不能直接驱动呢。因为这也是一个表,我要是去容的话,我是不是应该在这后面写一个什么。Group,我们看它能不能行对吧?啊,看它能不能行,如果不行的话,我们还是用紫查询的方式来驱动吧,啊紫查询的方式来驱动,你就不要用来驱动了,OK吧,这个呢是959条。
09:09
啊,这个就挺多的啊,几乎每个人都20个吧,对吧,因为50条数据嘛,最高20嘛,最高不是1000嘛,959了,是不是几每一条数据都有20个关联的对吧?啊几乎是满的啊几是满的,那这里面呢,应该是有重复的啊,应该是有重复的,那我们把这个东西来跑一下,加上这个内容对吧,看他能不能行,如果不能行的话,我们就干什么。我们加一个子查询对吧?啊把它走一下。如果可以就可以,不可以就干什么,加一个磁长群,刚才是959条对吧,啊出来结果理论上说比他小一点啊,比他小一点,但是具具体小多少也不好说这个事对吧。
10:02
里面涉及到紫查询,所以呢两个任务对吧。注意有的子查询呢。不一定是有一个俺发任务的。因为你子查询里边写的谁的这个新这种它不是fe抓取,对吧,你们要想着诶,嗯,老师说的有里面有子查询一定有两个叫堡,不一定啊,这个不一定,因为你假如说是泛抓取呢,对吧,它就不会形成一个阿巴叫果能听懂。是为什么会呢?哪个为什么是。那个C是后执行的,然后是新执行的。来的后执行,Go先执行,那就是因为它后执行,他先执行,它才能分组。呃,我的意思就是说,他不是起了别名吗,这个对。
11:01
这个是炸列表,对炸列表进行,你这个查询也不是对炸列表进行查询的吗。对吧,啊,查询这个是可以的啊,这个是可以的,OK,那也就是说它里面重复的并不多,对吧,956也就六条是什么重复的啊,有六条啊,说不定没有六条,说不定有一个他就七个呢。是不是也有这种情况?能听懂吧,具体是哪几个,你要有兴趣的话,你可以对对啊,反正我没兴趣啊。啊,这个东西呢,我们就不要了吧,啊,这个东西呢,只是我们分析这个思路,对这个的ID进行一个炸裂,并去重对吧?啊,并去除。啊并七中好,那接下来第三步按照我们的逻辑走,应该走什么呢。关联视频的类别吧。对吧,啊,取到它的一个类别啊,取到它一个类别,好,然后我们取。出。
12:00
说前50。应该叫。观看数前50视频。关联ID的什么?关联ID视频的。类别。对吧,做这个事吧,啊最后呢,我们进行炸开,炸开之后呢,求count啊,求它的一个RA口啊求它OK,那这个好做吧,就是T表,然后我们select。它不要类别吗?对吧,类别那这样吧,那我们就只求一个开不就完了吗。可不可以?其他资料我不要了,能不能行?没问题吧,啊,只求一个category from。T2表。笑一吧。是不是要连接了呀,哎,Join谁。原表吧,啊叫鼓励。啊RC啊,这个是原表啊,原表好,然后接下来。
13:03
啊,什么东西。是不是这个T2点的ID等于这个,我给它取个名字啊,叫叫什么名呢。表吗,那就。哇。叫什么?错了,叫V6ID。叫ID对不对,对吧,ID是一个数组,我们现在的ID是炸裂之后,这个是一个数组,对吧,然后这个东西是炸裂开的,是不是这个内容啊。这个东西怎么跟原表进行关联啊,是不是跟原表的video ID进行关联啊?没问题吧啊,跟原表的V6ID进行关联,这个地方你要写的ID完了一个的数据就没了,关联不上,因为three跟数组比肯定不成功嘛,啊一个都交易不上对吧?啊注意一定是V6ID啊,一定V6ID好,这个关联上了,然后我们是不是直接加一个什么括号limit米,不用limit米了吧。
14:14
先测试是吗?你的意思是?开D,这无所谓吧,这个应该也只有条吧。对吧,我们做去龙了嘛,啊,应该是950秒,所以呢,也不用厘米的直接跑一下,那我们把它拿过来。好一把吧,第前面加一个号。把这个拿回来叫步步为营是吧?假如说出错了呢,对吧,那有可能的,这要写的,有的同学可能是,哎,这个我也不要了,对吧,那就错了。拿过来。让他跑了,那接下来我们要做什么事?这个是T3表。
15:06
T3表第四步干什么?对,T3表中的。Cat吧,啊,Cat里再进行什么里啊,这个就是因为我们当前这个表里边,它有多个数组的问题,所以说数组的一个东西啊,生长环境当中,如果说能避免要用的话,尽量的少用。很麻烦对吧,啊,你们炸裂来炸裂去的很麻烦啊,其实这个事情啊,然后我们写一下,最终我们是不是要拿那个那ID去求呀,所以说同样的select,我是不是也只要一个字段就行了,叫category name对吧,是炸裂出来的这个字段from。T3表对吧?啊from t3表,然后从T3表里边进行什么。炸。其实哎,这个东西我不侧写了信息。
16:02
就是说只要如果说只要一个列的话,我是不是可以直接这样写。不和原表关联,是不是可以这样?还记得吧,对吧,就不跟原表进行关联,不像之前是不是跟原表进行关联啊,关联你要取的东西比较多,现在呢,不关联了,不关联呢,直接干什么。直接炸开吧,啊直接炸开,这样比较方便比较方便,OK,那现在呢,取出来一些数据。其数据那应该是我们数据不全导致,因为我们导的数据呢,就是某某一段时间数据,所以导致他少了,因为有的没关联上,就是说这个是什么原因导致的,因为我们数据呢,只是考了一段数据过来。啊,假如说A这个数据我们肯定是有的,因为是目前当前我们对这个数据集来排序的,前50的这个A这个都有,但是它关联的这个B。是不是有可能这个B是一个很老的视频,我们截取的这段视频里面没有能听懂。
17:07
能不能听懂这个问题?就是目前我前50有A。A呢,关联了一个B,假如说我A啊,就是我当前的数据集,我举个例子,假如说是从2017年什么一月份到2018年九月份的数据,这个B它可能是2016年的某一个视频。当前作为K效应的时候。这个范围内没有B这个ID能听懂,所以呢,这个数据集会变少一点,会变少一点能听懂吧,这个问题啊,这个数据集问题啊,因为我们没有把那个呃,YouTube比所有的视频全部录下来啊,因为关联的可能会关联一个很老的视频,对不对啊,那我中间取一段有可能就没有啊,可能没有是这意思啊好,这个呢,是我们取出来它关联那个什么。类别了,而且是关联视频的类别吧,啊所关联视频的类别,然后接下来对类别进行断裂,来把这个再走一下吧,那这个东西就。
18:06
越来越大对吧。把它干什么?诶,我还是这样啊,先把它撤销一下,嗯,撤销之后呢,我在这底下写一下啊,因为这个是整个一个思路,到时候呢,大家看的时候比较连贯一点,把它是不是粘进来啊。对吧,啊放在这儿。这个呢是T3。我把这个叫做什么T4对吧?啊T4,然后呢,把T4表给它抛一下。那这个数据肯定比这个856要大,对吧,因为是对现有的这个数据集把它们进行打开。抓开之后分组求和吧,啊,最后一步就简单了啊,最后一步简单了,好最后我们把这个写一下啊。第五步就是干什么。分组求和,我直接这样写一下对吧,分组求和这个呢是T4表。A,四表啊,第四个分组求和,那组是什么?
19:05
类别对吧,啊类别和就是还是我们之前所说的总数,是不是和就是总数。啊数好这个就是select,取一个别名是吧,叫select,然后这个地方是。Categ name逗号,然后看心对吧,好看心然后。看到新的取个名字吧,因为等会他说要求是不还要排名啊,排名取个边名排这个看from这个T4表对吧?啊from这个T4表,然后。Group by对吧,按照这个谁呀。进行一个。分组,然后。这个category count,然后第一页这个倒叙,倒叙,如果说你想求一个什么1234,你的rank还同样道理,你用这个后面写什么。
20:09
O。对吧,包括你想写1234嘛,对吧,啊,这个求和求出来,求和求出来之后呢,然后去。干什么事对当前这个数据集进行?开窗写一个rank吧啊,123412340,其实这个你按照顺序也就是12340吧啊,那就不用不用做这个操作了啊,1037条没问题吧,上面是856嘛啊,它会肯定会比较大的啊,最后一个这个我们来执行一下啊,把它拿掉啊,这个东西呢,给它粘过来啊,粘过来放在最下面。我们写一个名字叫最终什么?Circle啊,最终的circle口,哎,转过来第四括号。然后把T4。粘到这吧,给他拿过来。好,把这个东西给他跑一下。
21:04
走诶。看一下,他说27行应该有一个东西别名没取是吧。应该有个便秘没学开是吧,这个炸裂的我想一下。嗯,我我我捋一下啊,这个地方。Cat name,这个最后是开name,然后按照这个分组,这个没有问题,是不是这个东西改了名字啊,这个东西没写是吗?这个都没写是吧?应该在TT3表,对于T3表里边有个边名T3。这个往回找就很麻烦了,是不是这个对吧?啊这个炸裂啊,对他所以呢,就应该就这个地方,他说别名有问题,可能是这个这个就是系统给的别名吧,啊系统给的别名就这这这种样的。
22:02
其实如果说真找不到的话,那你就从头干什么,从那个T2再不是写一遍啊,就给他写个括号粘进来就行了,对吧。把那个跑一下。这个,那我这个中间过程我就可以干什么。删掉了对吧?啊,只保留一个最终搜狗,那这个东西到底是多少行啊。看C29行不是啊,这个里边怎么可能是一行呢。对吧,我们这样写的嘛,不一定啊,对于so来说,它不一定要CD啊,我新建一个查询。看到没,然后这边美化一下对吧。36行也没多少是吧,啊这个是这很简单嘛。但是他跑的任务你看七个对吧,因为你子查询多嘛啊查询多,而且每一个查员都做MR任务的话,那就MR任务。
23:09
那你怎么写呢?你从头写吗?那如果说你有本事说,如果说你可以啊,从这开始写,直接写到这,那你肯定这样写啊,对吧,我写不了啊,我写不了这样企业当中后也是这样写的,也是这样写的,因为你。作为我觉得作为一个正常的人,都很难说直接从外面行到里面,这样一次下来了,这个太难了吧,这个你想想看,你脑子里边压战得加多少对吧?你一直想问题,然后谈战嘛,对吧?往外谈,然后你从外面开始写对吧,你得在脑子里面加战是吧?嗯,面试的时候有同学问他面试的时候,面试的时候很少写到级别了。就是说有四五个子,大学很少,一般两三个撑死了,你还是按照步骤去把思路写一下,最终这个汇总的说会你可以不用写啊,思路写一下能听懂,不用最终非得把它写出来,而且面试的时候我好像没有发现,说一张表非得让你有T4第五好像没有这种。
24:12
不会到这种级别啊,比较少很少的写路那种比较少嘛,还是OK,最后呢,21条数据,21个类别,因为这里边应该类别都都齐全了,应该是都齐全了,就所有的类别,就包括炸炸列出来所有的类表应该都齐全了,呃,还是这几个站在前面对吧?啊,无论怎么样,你无论怎么样都是这几个在前面对吧?啊,符合人的一个需求嘛。
我来说两句