00:00
好,那接下来呢,我们再看一个案例啊,这个案例呢,是实时监控目录下多个新文件,这个指的什么意思啊,是这样的,就是说对于一个文我们监听,此时监听一个目录,刚才跳杠F是不是监听到一个文件啊,我们监听文件当中的变化数据的,对吧?那我们现在呢,要监控一个目录,然后呢,从外面把目录啊,把一个文件扔到这个目录里边,它一下子直接给你上传。啊,把所有的这个文件当中所有数据给你下来,就跟那个类似于哈度里边铺的操作啊,感觉很像啊这种来我们看一下这个就又要换这个source对吧?嗯,Think呢think,嗯,China呢,用就好,还是用刚才一样的啊嗯,那这边S我们就要用。当我们解写的其实应该叫对吧,当时我们看到的用那个写不下了,呃,然后呢,用China用这两个是不是我们都不用去看了,直接拿过来对吧?然后呢,我们被监控的目录往那一放,我们先要去把这个配置文件写好,然后开起来对吧?把这个任务呢开起来创建,接下来呢是执行创建好之后呢,开始执行这个任务,执行好任务之后呢,就往这个uplo里边呢去。
01:22
添加文件啊之后呢,我们就可以到HD去检查数据啊,去看数据就好了啊,是这样的一个过程行,最后呢,是查看这个数据有没有上传到HDFS,同时在这个目录当中,它其实上传完之后啊,他会给我们已经上传的文件呢,打一个标记,打一个标记默认呢,是以completed完成的,因为大家想啊,如果他不做标记的话,它这个监控的整个目录啊。如果不做标记。那会怎么样?上传,那这个文件将会被无限次上传。
02:02
因为他监控的是目录啊,对吧,所以说他上传完文件之后呢,他打一个标记啊,做这个事用的啊,默认的就是complete的,当然这个后缀名你也可以改啊,都是配置信息,那接下来呢,我们再创建一个叫D压到HDFS对吧,这个拿过来,嗯,跟这个have就没什么关系了,我们给他干掉啊,这个任务我给他停掉啊,这是刚才我们启动那个任务CD的照顾里边,然后呢,我们在未啊未之后呢,我们还是一样的,我看下我最好是用touch吧。Touch以以后我还是到这里面去打开,因为这样的话,其实在这里面大家能看的更清楚一点啊呃,刚才我们写的是不是from DR还是count对吧,然后呢,我们把这个配置文件拿过来。先把它拿过来,然后呢,我们对着去看一看这个东西,呃,首先第一部分还是所谓的叫什么声明对吧?那S呢,等会呢,我们结合着官方文档看啊,因为这个source对于我们现在来说是不是一个新的内容对吧?而think看我们在里边又我新建了一个文件找的,当然了,你把我这个直接用W的放在这都可以对吧?还是按照这个小时去放的,其他配置文件都没有变,前缀改了一个,其他配置文件没有变啊呃,这个东西呢,60就60万,因为30我们已经看过它滚动效果了,对吧?我们也没必要拿这个案例说再去测一下滚动效果啊,这个无所谓了,然后接下来呢,M China还是一样的,哎,最后是我们所谓的一个什么。
03:38
绑定对吧?啊,他的套路都是这样子的,那无非就是我们稍微就看一下这个SP的一种方式啊,来在官方官官方文档当中。搜一下。在这叫全称叫啊对吧啊,它必须配的也是一个类型,这个我们早就说过了,然后呢,有一个你要监控的什么目录,对吧?啊,你要监控的目录,这个是必须配的,然后呢,后缀它是默认的以什么come lady的啊come lady的好,那么再来还有啊呃,这里边还有两个比较关键的可能,如果说你用到的时候用他们看。
04:27
这两个正则表达式对吧,一个呢,正则呢,可能我不太熟悉,但是呢,前面两个属性名字你看一下。一个叫include pattern,就是包含的一个正则,一个叫一个忽略的是吧,正则也就是说我们整个目录,因为我们监控的目录,有可能这个目录底下有你想要的,也有可能没有你想要的,就这里边可能有点log.tsd各种各样的文件都有吧,我们可以有选择性的来上传我们想要的东西,对吧,那这边呢,我们就配了一个给大家看一下啊,你看这个正则能不能看懂。
05:03
就刚才这些东西,这个是不是都可以不配呀,对吧,因为默认的是不是就是他呀,既然它有默认值,我们都可以不配,我们主要是配的它们俩对吧,要配,然后呢,这个。啊,你看不懂,但是这里我给你解释,以temp结尾的文件我们不上传。啊,就是如果说你是以time结尾的,这个文件以ta结尾的,我们不上传,这样吧,我们还是把它改小一点啊,等会呢,我们再上传一个temp结尾的,就是我们往这个目录里面扔一个,你看一下它会被变对吧?啊做这事情,因为我们把它忽略掉了一个号啊好,这是我们看到一个内容,接下来呢,我们就去启动,启动之前呢,刚才我们看到监控的目录是哪一个。底下有一个uplo的对吧,监控这个目录,所以呢,我们在这make压一个uplo的,诶先是空目录对吧,相当于空目录,然后呢,把任启动,嗯,再来想一下启动命令,另外写一下到现在为止,刚才有敲一下还是粘的呀,大家是敲的还是真的敲的是吧?敲的应该就记得对吧,A的杠,嗯,我们用的是对对,我知道刚我又写的杠黑了是吧。
06:21
A3嘛,A3啊,这个是杠N a3-C,杠F是job,底下有一个from DR到还是DFS,对吧?好,那我们起来。这个后面是不需要加那个什么杠,打d.root.log啊,因为我们又不打印到控制台对吧?啊,那有的人说那不打印到控制台,那它的数据日志输出到哪了,对吧?假如说你这个东西启动报错了,注意看啊他的日志,如果说因为他有时候呢,他不把报错信息放到控制台,假如说有同学说我测试发现IDFS没有数据,那我们得看谁啊,看它看这个from.log OK吧,你看一下里边诶出了什么错对吧?去自己尝试先解决一下,好,那这个东西呢,我们已经启动了,那接下来呢,我们去创建。
07:20
文件啊,那这样啊,我touch一个1.tc,我们忽略的是不是TT文件格式啊对吧,好touch,然后呢外1.t啊,我往里面放一点东西,Hello都可以补hello这个from对吧?啊保存一下啊。好,那我们把这个呢,移动进去MV,注意1.plc,然后呢,给它扔到我们的W的这个目录,走好赶紧啊CD的,其实他已经上升好,他很快的。对吧,马上我们是不是扔进去的是1.tc啊,但是扔进来之后我们重新打开的时,它变成什么,Come lady的说明已经被读走了,对不对,对吧,完成了吗?这个读走了,他在校验的时候是不是不会读它了,对吧?啊,那我们去排这里再看一下啊,在这个位置,然后呢,退回来刚才我们写的目录。
08:21
是底下有一个upload对吧,点开,诶这个还是它15,这是现在15嘛,对吧,点开这个数据好,我们配的是20秒刷新文件嘛,就更新文件,那我们这个文件可以看一下,因为这个呢。是不是刚才两个数据放到这来了,对吧?好,那这是1.0C啊,然后我们如果说在这VM一个,诶不在这CD的,不是用CD啊V2点点SD。啊,为m2.psd啊,还插入啊,然后呢,还是hello什么爱的微博hello,我们区分啊,Have,那我们再往里扔它只要是新文件,它都能够干什么。
09:07
上传好走在CD到uplo l。对吧,立马就完成了,好这边呢,又会多一个文件,20秒以内,它都叫什么T啊,如果说你在20秒以内放了多个文件。那它是在HDFS是放在一个文件里面的。啊,因为它20秒刷新一个文件啊,是这个意思啊,行,这个我们就放下,我们也可以看一下这个数据啊,是不是hello have对吧,刚才我们做一个区分,那我们接下来呢,再出来,那我这个时候1.tfc,大家想一下这个问题。哎,哈哈,好杜。呃,那大家觉得我把这个东西扔进去。
10:03
他能上传吗?看目录里边这个,然后我这外面又有一个一点,我再扔进去,他还能行吗。为什么对,主要的问题在于,如果说他行的话,他把它上传了,上传好以后,他是不是应该更名称他呀,一个某种能有两个一样的名字吧。不行吧,啊不行,等会我们错啊,因为一扔进去它会报错扔我们就挂掉了啊,所以我们先不扔它啊,只是只是作为例子,然后呢,我们问一个一点呢,我们能不能扔进去,可以扔进去,但是呢,不会上传对吧,假如说Spark啊好保存退出啊,那这个我们给他扔进去,让MV一点太。
11:01
给他扔到当前目录的阿的里边好还下的他还是怎么样,按照我们刚才的一个效率扔进去应该早都成为什么了complete了,对吧,我们刚才是不是每一次扔进去之后立马看,因为我们配置了忽略的,也就是说只要以T结尾的,或者说以你写的后缀结尾的,它都不会上的,也就什么意思呢,我在这个地方我一个1.complete的这个文件好了。啊下,呃,如果说我把这个给他扔进去呢,卡雷呢,给他扔到阿lo里边。他能不能上传啊,可以啊,为什么可以呢?肯定不可以啊,他他其实说他自己做的后缀名也会被他忽略掉,如果可以的话,那这玩意不也会被上传吗?对吧,他没有加吧,而且呢,到RGDS刚才是两个文件刷新,有文件吗?没有新数据吧?啊注意啊,就是说第一个你可以配置忽略项,他会不上传这个文件,第二个以他自己后缀名结尾的,就是说他自己加的这个东西也不会上传,那你想嘛,如果会上传,那他自己加的。
12:25
能不能上传呢?是不是也要上传,那也就是说未来它后面是不是加强同内的封了吗?他不是的,也就是说它会忽略掉这两个,对吧,忽略掉这两个啊是这样东西,好,那接下来呢,我们演示一下啊,就是说我们进到这个log斯里边,T-F,我们监控日志啊,然后接下来我们做什么事呢?我们把刚才的1.ts给他干什么扔进去MV1.tst给他扔到阿里边。直接就报错了啊,直接报错了,这个数据呢上传了,但是呢,这里边会有问题啊,啊立方有问题呢,这个东西他再次扫描的时候还会上传,再次扫描还会上传,因为对于这个文件而言,他没办法跟名称这个对吧,因为不可能存在两个完全一样的名字嘛,更新不了了,你看啊,这他还在去上传。
13:24
等会我们稍等一下啊。就是说这个不会更名了,永远跟不更不到名了,因为这是Linux系统的问题对吧,不能有两个存在一样的名字,所以说呢,未来我们往里面放的东西的时候要注意,第一不能是以我们忽略掉的这个后缀,对吧,这个时候我们忽略掉的就是不上传它,这是我们指定的,第二,你传进来的目录数据也不能是乙他自己加的这个后缀。对吧,第二还有一点呢,就是说不要去传相同的文件名的东西,对吧,那我们删除一下这个东西,它会导致他更不了名对吧?啊导致更不了名,这个文们先干掉,然后还有一个问题,大家觉得这个目录当中,我对这个文件修改,能动态的修改这个文件吗?就是说我进到这个里边,我在这里边去创建一个文件,然后去动态修改,它能监控到吗?
14:30
你想一想对吧,自己想一想,不要应该不应该的可以有的可以,有的不可以,那我问大家啊,我如果说改这个文件,他能上传吗?不能对吧,那他我在这里边。VM一个啊,我叫这个3.tc可以吧,3.tc好I插入hello。然后呢,爱的微博对吧?Hello,保存退出稍等一下啊啊对,之前就是因为这个任务我当说了把那边任务挂掉了对吧,那这个得重新起啊,就是因为我放了一一个1.tsc,导致它后面的用不了,因为它挂掉了,其实对于这个任务它已经挂掉了,那这个重新起这个三就变成了对吧,那我们重新测一下啊,我不按那个什么4.ts啊好喽,我就叫哈还V5吧,就不写那么多了啊保存退出保存好之后它立马就变成了对吧,所以你这个东西其实动态根本更改不了了,它其实这个东西呢,就呢只能说干什么事了。
15:50
把一整个文件上进放进去,然后呢,他直接上传,你不要动态修改了,因为你一旦保存成功,他立马就给你把这个数据干什么上传了啊,都读走了,你在动态修改它这个东西是我刚才看到了这个东西相当于是被忽略掉的文件吗?他不会再去读了啊,他扫描这个文件就不会读了,是这个意思啊,所以往里面放的文件还是有讲究的啊,不能说想放什么放什么对吧,而且特别是放再放1.tc啊,它还会报错,报错之后呢,这个任务就挂掉了啊,它就不能再监控了,其实刚才我们三是不是没看到他上传了,四是不是一样的情况下他上传了,就是因为三的时候呢,我们之前放了一一个1.tc,导致任务挂掉,啊们看着这个进程没有退出,但实际上这个任务工作不了了。好,这是我们的。
我来说两句