- 00:00 - 然后我们来看一下这个,呃,上午那个东西呢,到时候会给一点时间去练一练啊,我们多讲解,因为呃上午呢,我们实现了是监控一个动态变化的文件上传到HDFS对吧,至于上传到哪,这个就是取决于你的think怎么配吧,啊我要配log,再把音量控制台对吧,你要配SDF,或者你配卡卡,还有那个。就是文件滚动的啊,就是到本地的一个文件系统,这个也是OK的啊,这个可以的随便啊,就是我们主要的就是说这个地方呢,可以监控一个动态变化的一个文件,对不对。没问题吧,那接下来是这样的。我们要监控一个什么内容呢?有一个目录下呀,它有很多这个新文件,因为刚才我们所说的这个监控动态变化的文件,它是一行一行的去读这个数据,对吧,它效率相对来说比较低,而现在有一个什么样的需求呢?是这样的,我有一个文件夹是每天呢,他会往里边放新文件,而且整个文件给他放进去的。 
- 01:02 - 能听懂,就是说这个文件一旦放进去之后就不会再改变了。就不会给没了,那如果说这样的需求,当然你用之前的什么T-F这种方式也可以,你写一个正则,写个正则表达,然后呢,你这个文件的格式统一就可以了啊就可以了,但是呢,它是一行一行读的,这个效率呢会慢一些。效率会比较低,那我们就要用到另外一个so。Directory这种方式啊,Director这个啊,就可以监听整个的一个目录的一个内容啊,我先打开一个这个模板啊,我们看一下这个PPT。模板打开了,然后呢,我们看一下我们要做的事情啊,我们要做的事情。就整个的现在呢,我们要监控的是一个目录。这个目录里边呢,是我们将来要将整个的一个文件扔进去的一个目录,啊,扔进那个目录,OK,那第一个。我们要用到的,So,此时呢,这不是我们之前用的exe或者ne cat,因为它完不成这个功能,它一次性的把一个数据全部上传,就类似于我们所说的put,但是put你是不是执行一次上传一个文件啊?但现在呢,对于来说我干什么事呢?我一直监控着这个目录,只要这个目录里边有新文件了,我就给它干什么。 
- 02:18 - 上传注意是有新文件,不是说某一个文件里边有新内容,能听懂这两者的区别吧,啊这是不一样的,OK,然后呢,我们还是用这个memory channel和H来上传,那这两个东西我们都用过了,那我们重点的是不是看一下它。对吧,啊,一个一个组件来看,OK,那我们假如说监控的目录在这个里边,我们创一个upload再上传的啊目录呢,随便取这个无所谓啊,取一个名字而已,然后呢,用device同样的去执行配置文件,开启监控,开启监控之后我们去往。Upload里边扔一些数据,在扔数据的同时,我们还要做一些测试,就是说诶,你这个监控到新文件,我们到时候看到肯定是成功的,那我们想一个。 
- 03:04 - 假如说我往这个已存在的文件当中再去追加内容呢。对吧,我们也要做一个测试,是这个意思,然后接下来是。去IDF去看啊,查看ID数据,查看IGF数据,然后这个点呢,等会我们写配置文件的时候,大家能看到啊,大家能看到OK,这个是我们整体的一个需求分析,也就是说本地我们有一个文件夹。然后呢,我们需要写一个from的配置文件啊,前面定义对吧,South China think,然后呢,完毕啊,South呢,是专门针对我们这种特定场景下来写的一个source叫spring directory啊这种方式OK,把这个配置文件写好之后,把这个A干什么?启动,启动完之后,我们需要往这个目录里边去扔整个的文件啊,然后去HD看上传的一个内容结果,能明白这个需求啊啊。 
- 04:01 - 那我们接下来就来写一下这个内容啊,来写一下这个内容好,嗯,这块呢,我们还是涉及到这个教会里边。它是一个。点director一个目录文件啊,From到HBFS点。诶点。com。好,那同样的呢,我们还是来这个地方给它打开一下吧。点开。零二这个里边有一个叫,呃,我先这样,我打开一个fair。啊,大概这个,因为我们可以拿它来复制对吧。等下。然后呢,是这个第二好,第二。那我就可以CTRLCTRLC,然后给它放在这儿啊,把谁干掉。是不是把它干掉对吧,它的类型肯定就不是eec了啊,不是eec了,OK,那我们来看一下,嗯,我们打开这个门。 
- 05:05 - 然后注意在documentation里边啊,有盖啊,尽量的咱们还是要改成什么1.7,因为咱们现在用的版本是1.7,虽然有很多东西都没变,但是有些东西呢,它还是变了啊,它还是变了,好,我们还是用了1.7,然后我们要找到那个。Directly。第2I。资料啊。这个地方是不是有个director resource对吧?啊监控一个文件呢,监控整个的文件夹了,OK,那来看一下这。一堆配置吧,我们要说一下啊,有几个内容我们必须要配套,首先第一个就不用聊了吧,插是绑定的type类型,每一个组件呢,都有它自己独一唯独一无二的一个类型啊啊表示的要使用这个内容,其实它你传这个名字进去,它就找相应的什么。 
- 06:00 - 在我们的价包里边找相应的类。啊,根据这个的内容去匹配全类名,因为每一个south China s也好,都是一个类啊,都是一个类,好他是通过这个去找全类名,然后这个地方叫什么。Dear。他说。这个东西总能看得懂吧?他说从哪个地方来读取文件的一个什么。第八对,也就是说这个地方就配置我们带监控的那个目录没问题吧,啊带监控的目录好这个东西要有其他的东西都是不是有一些默认值啊,啊有些默认值那我们先不管来看一下啊这个地方。这是什么?文件后缀,它而且是什么文件后缀。他说添加给谁的这个后缀准备添加给。 
- 07:01 - 完成的一个文件嘛,完成一个文件,因为我们说了,它是将整个文件要上传上去啊,整个文件读进来,那读完了之后,为了保证,因为它是这样,它是实时进行监控的,是不是过一会儿是不是又要看一下那个文件夹里面有没有新文件啊。对吧,因为他要自己主导的去看一下,因为你往文件夹里面去放文件的时候,没有人通知要自己去做什么做监控,那你上一次上传到我再一次监控的时候,我还需要上传吗。不需要了,所以呢,他就通过怎么过滤掉这些东西呢。就是我上传了一个文件之后,我给他添加一个什么。后缀,哎,下一次我看见有这个后缀,我就干啥无上传了,对吧,因为我自己添加了一个后缀,就做这个事的啊,默认的点。com用用这个也就行了,因为在生产文件当中说有一个文件名,本身后面叫点complete的这个也比较少了,如果说最好取一个你公司当中绝对没有的什么。 
- 08:05 - 侯瑞明,对吧,假如说有我往里一扔,哎,十平哥自己的怎么办呢?对吧,啊是这意思,好,其他的就还好了,还有一些啊,来看一下啊这两个吧。一个叫include,一个叫一个,一个叫包含一个叫什么,忽略这后面这个是什么,知道吗。正则对正则表达式啊,正则表达式,那这两个属性往这一放什么意思呢?猜一下。必须要有这个就相当于咱们那个整个打了防火墙的那种什么白名单黑名单。能明白吗?知道白名单黑名单这个事儿吗?对吧?啊,它就相当于白名单这个包括的就是说如果你文件格式已跟我正则匹配的,我就干什么。上传如果忽略了里面呢,如果你文件,假如说我这个正则写的是这个内容,点log。 
- 09:06 - 假如忽略里边,也就是说你这个文件如果以点log结尾的,不好意思干什么不上传对吧?啊就做这个事的啊,做这个事儿其他的都还好,其他的几个属性用的都比较少啊,用的比较少,OK,那我们把它配一下,你怎么配呢?来把这个拿过来吧。Source direct给他拿过来,有的东西呢,我们要改一改,嗯,在这上面呢,我先先放在这,先在这OK,它这个东西不行吧,我们不是叫他是吧,我们应该干什么。一直复制到这对吧,复制到这儿做一个什么替换,对吧,这嗯替换。Crh这个里边呢,有一个它对吧。替换成。全部替换成它吧,对吧,Replace all OK,那这个替换完成了,那我们看一下的东西啊,嗯,我们要改一改这个China是不是要改一下。 
- 10:01 - China,我们后面有绑定吗?是不是这个可以删掉这个这行代码相当于谁,是不是在这啊,我们直接给他提到后面去了,之前说过。好,那其他的就这。监控的目录,那我们写一下监控的目录呢,我们刚才说了要放在哪。OPT。Model下面我们放在里边再建一个的对吧,然后。D啊,漏的这个地方还要hier,这是什么意思呢?就是说他要把文件路径放在那个头头里边啊,其实这个东西,因为我们之前看到那个hier是不是都是空的呀,啊这个呢还是不要啊,因为默认值呢,它就是什么。就放不放,因为这个放不放无所谓,还到for对吧,啊添加一个什么。头存储啊用什么。文件名吧,绝对的一个地址,是对于文件名那个绝对地址对吧?啊就这个东西你其实放不放无所谓啊,无所谓,那我们就最简单的就这个内容啊,然后我们少了一个,哎,这个东西就不要了吧,就最简单的吧,啊三者,因为我们之前说了,你要配的这不是是他吗。 
- 11:11 - 对吧,啊,你要配给他,当然我们可以再把这个后缀改一个名字也可以了啊,你重新配一个对吧,因为这个是属于它的一个默认值。默认值,默认值是不是都可以修改啊,啊,你自己去重新改一下也可以啊,那我们就用它。然后呢,把它。 
我来说两句