00:00
好,那我们头一天先讲了一个have的那个案例,对吧,最后那个案例啊,那个就是搜,大家自己去练一下啊呃,然后之后呢,是我们讲了一个新的一个框架,开了个头,它主要是做数据采集用的,就明显很明显的一个用处啊,就是我们当时也有那个案例,采集本地文件系统当中的日志文件,将这个日志文件上传到idfs。对吧,而且呢,这个日志文件,假如说你是呃,每天往一个目录当上放的,那我们也可以用,如果说你是这种动态往里面写的,是不是也有对应的source都可以用啊,对吧?啊是这样的东西,那我们想一下,之前我们所说的那三个sources都是读取本地文件的,哪三个还记得?都可以来读取本地文件的,但是他们之间有区别。叫什么三个?
01:04
Ex执行的是一个Linux生命令,对吧,咱们就可以用T-F来做这样的事情,它呢是可以兼动态的去监控这个文件,但是它也有问题,对吧,不支持断点续传对吧?如果说你这个任务挂掉了,那就不行了,好,那么接下来第二个叫spring directly。对吧,它是监控一个目录,然后呢,把这个目录当中,呃,除了忽略掉的,它本来你可以配置忽略项,对吧?啊,配置一个什么后缀啊,或者说包含什么东西,一个正则表达式,呃,或者说呢,他自己上传完之后,是不是还会加一个什么后缀的,对吧?啊默认的complete,那么除了这两种你配置的跟他自己加的这种之外,当前目录当中所有文件它都需要上传。
02:06
但是呢,他也有个问题,他不支持这种对实时更新的数据,对吧,他是上传完了之后,立马这个把这个名字改掉了,你再去改这个文件,它就不会读了,因为它是相当于忽略掉了,根本就不会读了,对吧,它是相当于把整个文件直接上传的,那这三个我们所讲的。叫。对吧,它呢,就结合着刚才我们所说的,那懂啊,就主要是对于那个eec eec呢,你用开杠F,它默认读最后十行,有可能重复数据,有可能丢数据啊,不支是断点续传嘛啊而TDRR呢,我们明显看到它上传完数据之后,它会在文件系统当中写一个它的位置信息。对吧,有什么I know的值有一个绝对路径。然后还有一个position,它的位置信息,那么如果你挂掉了,我下一次来读的时候,是不是接着这个位置开始读啊,对吧,那这样就支持了我们所说的叫断点续传功能,对吧,你挂掉之后我还能接着来,但是它其实也有一个问题。
03:16
他的问题在哪儿?主要在于我们所说的,那如果对有更名操作对吧,因为它默认的情况下,它是按第一个按的值加上绝对路径来共同决定一个。位置信息,只要这两个当中任意一个变了,I note变了,其实就是查到了有新文件,对吧,你我配了一个正则,哎,我假如说中间有have,本来叫have.log现在叫have.log点啊2020杠幺幺杠零二,类似于这样的,它都认为是一个新文件,对吧?啊这样的它因为它只要你是两个有一个发生变化,无论是真的是创建了一个新文件,还是说是更名,对于原本的太阳地下SS来说,它都认为是一个新文件,所以他会把这个文件里面内容再次进行上传,那这样就会导致重复,对吧?那所以说要求我们在生产文件当中,如果说咱们用到TLDR下S这种时候,第一咱们不能用。
04:20
更名的有更名的这种操作对吧,这是一种方案,那另外的如果说工作当中他非得用,那我们就只能改的好了,对吧?啊去修改源码,让他只看ino的值,其实看I的值就够了啊,因为ino的值不会变,除非你把文件删了再重新建一个,那这种情况下本来就是一个新文件对吧,跟刚才那个文件没什么关系了,而我们更名其实就是把之前的文件名字换了一个而已,你再重新读,这就不太合适了。对吧,这是我们所聊的source,当然了,在官方案例当中,我们还聊了一个source叫ne,它可以监听端口数据,对吧?它可以监听端口数据啊,你可以呃,让一个人往这个端口当中去发数据,然后呢,他能够去监听到,把这个数据信息呢做一个获取啊,至于最后放到哪,这就是我们think所聊的事情,那到目前为止我们学过哪哪几个S。
05:15
我们现在讲了几种,第一个老对吧啊,Log打印到控制台,它是方便我们做测试的,然后就是我们所讲的ID吧,没有讲其他操作对吧?啊,就学了两个,其实就就学,就算我们把整个文档学完啊,呃,也不会说把官方文档当中这这么多的source啊,China thing啊都给他讲完,不可能对吧,那你要看文档会用,其实他这个官方文档写的比较详细。对吧,整个的写的会比较细一点啊,写的会比较细一点,是这个意思,好,这是我们所说的三个内容啊,当然中间还有一个China China其实用的就是呃,Me China和China啊,然后在生产环境当中呢,可能还会用到一个叫卡夫卡China,那但是呢,我们下一个框架才讲这个卡夫卡啊,所以在项目当中,呃,我们会去用卡夫卡才能。
06:16
包括China,我们在学习这个内容的时候,就用这个m China就好,因为它效率相对说更高一些,对吧?呃,其实它这个配法,如果说fair China,那你想啊,如果说我们用的是fair China,你说要配什么东西,就是现在我们没看到配置,你觉得要配什么东西,Memory China里面我们是不是配了容量,什么事物的容量,对吧,就配了这几个内容,那如果说我们用的China,首先类型肯定是等是China这个类型,对吧?啊,类型得配,然后你觉得还要配什么东西,就我们没看到你觉得要配什么东西,那肯定要告诉我们,既然是用文件,就本地文件系统当做它的一个China,那肯定要配一个路径吧,对吧?啊,少不了的,那然然后还有配它的一个大小啊对,在北地门店你最大用多大?
07:09
啊,去分一下类似于这样的东西。嗯,就是这个意思对吧,所以说呢,其实China这块呢倒还好,但是卡夫卡开呢,可能稍微有点复杂啊,那个是到项目的时候呢,我们再去聊的一个事情啊,包括其实嗯,对接卡布卡呢,不光有卡卡China,卡布卡S卡法S都有啊,就是它既能从卡卡获取数据,也能将数据写到卡普卡啊,这是我们后面要聊的事情啊,嗯,也就是说它的一个south China跟S是非常多的。啊,不可能说在课堂上我们把它全部都讲完啊,那如果说你在过程当中用到了诶这个框架,那你要找到官方文档去看一下啊,每个配置信息呢,去了解一下,因为有的配置信息它有默认值,其实可以不配,但是如果说自己了解了这个配置信息之后,是能从一定程度上做到一些优化的。对吧,是可以做到一些优化的,主要是这个点啊,所以说呢,有一些配置信息呢,在到生产环境当中,当你用到的时候,你需要你肯定需要去看一下,你肯定把整个的详细信息都要去看一看啊,就包就类似于我们所讲的hdf think这一块,对吧,里边有按时间滚动文件夹的,也可以去滚动文件的,对吧?其实滚动文件的这个内容啊,你要是随便设,真的像我们设的20秒,30秒,60秒这种生产环境当中绝对不可能的。
08:28
因为如果说真的这样设置的话会怎么样啊,对产生大量的小文件,而我们知道IDFS是不能存大量小分积的,不是不能存啊,效率比较低对吧,主要太费这个内温度的内存了,所以说那几个参数呢,就相当于是优化的一个点了。啊,所以很多的参数都是这样的,当然那几个参数啊,本来就有默认值,可以看一下默认值对吧,还是这样,Think在这就刚才我们所聊的这几个参数,三十幺零二四。
09:13
对吧,然后呢,Roll count,这个是我们所说的事件数啊,到了十个事件,或者说1024K,然后呢,30秒的时候,单位是秒吧,这要写了啊,对吧?啊,它都会去干什么,滚动一个文件啊,滚动一个文件那这种的如果说用默认配置,这几个配置是不是可以不配啊,它是有默认配置的,嗯,不就是有问题了吗?啊所以说有些参数大家去看一看啊,而且他告诉你了,如果说你把这个参数设为零,就等于干什么。他说这个值等于零,将会不会基于时间去滚动?视角对,就是说时间你过得再久,我不会因为时间过得久而滚动文件刷新写一个文件,对吧,不是这个不不是这样做,然后接下来第二个呢,不会基于文件大小去滚动。
10:09
对吧,这文件你长到多大了,假如说你这个配置是一个小时啊,一个小时内你别管我文件这个文件多大,反正我也不会滚动,不会生成一个新的环境,对吧?如果设置为零的话,那最后一个设置为将会不会根据什么事件的数量来进行滚动。对吧,设置为零都有意义的,所以说像这些参数呢,呃,也比较多,对吧,在你用到具体生产完全用到的时候,你还要去看一看啊,还要稍微的去看一看,就算我们现在有的东西讲到了,这节课讲到了,对吧?因为你有可能到工作当中,刚开始可能不会去用到from,到未来用到的时候,你还是要去看,因为可能都忘掉了,对吧?呃,这是我们所讲的主要的三个组件,Source China,对吧?啊,学过的东西啊,我们讲过的东西你一定要清楚他是干什么用的。啊,就是我们讲过的south China跟think,你必须清楚的知道它是干什么用的啊,这个必须要清楚,大概的需要配置什么东西,你也要清楚,对吧,是这样的内容啊好之后呢,是刚才我们介绍的内容呢,讲的就是它这个架构造餐的跟C对吧,之后就是入门,入门就是一些案例了,案例无非就是说把官方文档当中那个示例给它粘过来,然后呢,改发改发去运行对吧,这个呢,就依赖于官方文档就好了啊,因为它比较用的比较细啊,这整个的官方文档啊,像这是我们所前面所讲的一些东西啊。
我来说两句