00:00
好,那下面的话我们来看一下啊,具体的这个flu。配置这个呢,那就你要就完全去依赖于这个官方手册了啊,记住哈,日后你们毕业的时候最好的两样东西就是学习,包括这个开发用到的资料,一个呢就是官方文档,另一个呢就是上大的笔记。啊,就是两个地方两个东西最好的一定要多看啊,官网多看,那个是上大笔记啊,啊你可以对比一下。啊,这是老学员的这个亲身体会哈,啊,就是你看官网肯定是没毛病的,因为这个官方说明嘛啊,更权威一些,但是呢,有些官网的这个比较晦涩,那晦涩的时候呢,你可以看上大的笔记啊,直接拿过来复制粘贴,肯定跑起来啊。嗯,那行,那来看一下吧,看一下我们当前这个问题哈,我们现在的这个日志。是在这个Linux系统的temp log下面是APP开头叉叉叉,然后点log时间嘛。啊,这个东东,然后呢,这个卡卡这块呢,哎,说目的地呢,我是把这个数据传到卡卡,传到卡不卡,你要注意了,我们原始的这个日志这里面分了两个类型,一个叫启动日志,一个叫事件日志。
01:14
回忆一下。哎。这上面这个呢叫事件日志,这块呢叫启动日志,而且他们的格式呢还不太一样,一个呢,这个启动日志呢,只有是单接身,就是一个接身,它这个呢是一个接森嵌套接森里面又嵌套了各种森。对吧,哎,格式不一样,好,那你说你要写这个的时候,你先找准了输入是什么,输出是什么之后再写这个配置。那好,那写这个配置的话,你要关心它三样东西,一个是the south,一个是一个是think。啊,三样东西你都要关心,那首先呢,你先从S开始,那一看啊,我们要读一个日志,那目前呢,在企业开发当中用的最多的就是这个TDRS,因为它支持这个。
02:05
断点续传和多目录,那我们就选它没问题,那选它它怎么用啊。对吧,它怎么涉及到一个怎么用的问题,看过吗。Long。看看网络给不给力啊,这个是翻国外的网,有点慢。啊,然后呢,我们来看一下这个左侧啊,这有个documentation这个地方。啊,这。打开。打开之后呢,这里面提供了这个两个啊两个路径,一个呢叫user get,其实就是用户配置使用的啊,不需要改变码,那另一个呢是developer也说开发的一个指导,那这一块呢,需要你自定义source啊,自定义呀啊等等这块的一个处理哈,那本次课呢,我们就选择这个就行了。正常配置,那现在呢,已经升级到1.9了啊,1.9那1.9的话呢,我们暂时目前用的是1.7啊,比较稳定啊,不着急用这个最新的哈,不着急1.7,这个1.9呢,我们会在后面那个项目实战里面用到1.9啊。
03:05
呃,那下来之后呢,这就是这个1.7它的相关配置,那配置的话,你既然想用了这个太阳D,那你就搜索太阳D。对吧?哎,搜索它DR就行了,那这这一搜索的话,你发现哦,这里面有个TS啊这是放的,那它会教你怎么去配置它,那配它教你还不简单吗?那他他提供了这么多参数,你说TDRR可配置的参数有这么多。那这么多一看对你来说是很痛苦的,我要不要都配置呢,哪些参数是干什么的呢?哎,那这个他已经给你想好了看。给你准备了一个案例呗,一个example for agent name ae,比如说这个agent呢,是ae啊,这个名称啊,咱都知道啊,这个from组成的是agent,那它下面的话就是具体这个配置,那你就正常按照它这个配置去使用呗。你看一下放大一点啊。
04:02
你看一下啊,前面呢是south是R1,没问题,第一个名称就是前面呢,一个是定义R1,一个定的是一个传一之后呢,这个south re,后面time指定了一个TDN。对吧,啊T第二,那就说这块类型必须得写上T第二,这是一个。然后另一个它是既然支持断点续传啊,这个China这个我就不说了啊,这C的往上放呢啊拼接上后面我们一般是后面拼接哈,然后之后呢,这里面有一个part file。那很显然呢,你是TDR,它支持断点续传,断点续传它就是的原理就是它把这个位置。你每次读取文件那个位置持久发到一个磁盘里啊。那持有化到哪呢?哎,你看我这里project file就把它的位置信息持久化到了log flow t DR这个文件里面去。嗯,OK之后呢,我们又说这个他呢,它支持多目录。那怎么体现的呢?你看这里面,哎,F1F2。
05:01
我可以给你指向两个目录。啊,两个目录,一个是F1的,一个是F2的,那你看一下这呢是five groups f1,那是log text1下面一个账,它那另一个呢,这个F2它是这个目录下。哎,这目录对吧,这是T2项的,可以支持两个目录,然后呢,下面有一个file header啊头变成数,其他那些参数你可配置可不配置。就没了。啊,那行,那接下来回到我们这个文档里面啊,看我们怎么配置这个。啊,差点差点啊,来到这儿往下看。首先这里面你定义好了啊,我需要一个这个R1,那就是S来啊SR1定义好,那R1的话,首先指定它的类型T丁ta完全仿照那个官网的一个说明,然后之后呢,下面有一个position file。那你说你要把这个位置信息存到哪个目录下,那我可以给它改到这个o BT model form下面,当然你创建一个test目录也行,这个文件名呢,你随便起啊,OK。
06:02
之后呢,它是需要指定这个你读取哪一个目录,官网上呢是给指定了两个目录,但是我们上课的时候,我们其实就一个目录就够了,因为我们这个文件就存在一个目录里面啊,不用它这个多目录的功能,好,那还有个log斯,我就有一个F1就行了,那一它要需要你指定是具体哪一个,嗯,这个目录呢,Temp log斯,Log克斯下面的,我这是一个正则表达式,叫APP点加。啊,就APP开头的后面是什么内容都行。啊,APP开头就行了。啊,那我们正好是AB开头,我们就读了一个对应的文件,然后呢,这有一个header啊,是一个头给它制成处之后呢,这块呢是拼接,就是说你这个R1之后,R1是往哪个通道上发,那我肯定发往C1和C2。啊,因为你看上面这个图。这是TDR2S嘛,我要发往C1和C2嘛,啊,两个通道啊,一分为二,所以说这就是正常的把这个TDR2S就配完了啊,非常简单啊,那之后呢,下面呢,这个胎阳电压往下翻的过程当中,我用到了一个ETL拦截器,还有一个是这个呃,区分类型的一个拦截器。
07:07
那为什么要用这两个呢?首先呃,在这里面呢,一般情况下会做一些简单的清洗。你说判过来,你传过来的日志数据,它合不合法,比如说你这里面这个一共应该有这个100个字段,但是你传过来的时候已经发现剩20个字段了。那你这就属于张数据啊。对吧,就属于不合理的数据,那这个数据呢,就应该干掉,你不应该再往后传了啊,就把它干掉,那这块呢,你就可以用它去判断啊,只不过呢,这里面我判断的比较简单,就是判断它它是否是大括号开头是大括号结尾。因为一个标准的监视数据,它就应该是大框开头,弹框结尾。啊,我们可以找一个看一下。嗯,找一下太老,你找一个VAPP这个文件,那这个文件呢,你看。这是一个启动日志的一个信息,它的特点呢,就是大框开头,大框结尾。
08:02
啊,我简单粗暴,我没有去解析一个一个字段。为什么不在这解析一个一个字段呢?啊,因为在这解析啊,它会影响一定的这个效率,你说flu这块你看。正常你这里面船,你在这里面耽搁了大量的时间,那会影响你后续的一个这个接收数据的一个时间,一般呢,我们在里面做简单的清洗啊,粗略的过滤,归到后面的书仓里面。再进行详细的一个过滤。啊,这块也是分工哈啊,不一步不一次性做到位啊,这要注意之后呢,这块呢是分类型,那为什么这块又有一个分类型的拦截器呢。那你想吧,你这里面这里过来的数据。看一下过来的数据,这是启动日志,我下面跟的是这个事件日志。我们需要未来把这些日志打到不同的卡卡topic里面去。那你要不把它区分开来,那你说你一会儿这个数据打到卡卡这个topic,那这个呢,打到卡这个另一个topic,你怎么实现呢?没法实现,只能把它区分开,启动日志的发到启动日志的topic贝壳里面。
09:10
说你是启动日志的发到这里面,你是事件日志的发到这里面,那你后续的话才能方便的一个管理哈。啊,要不你就在这里面压根一个也不区分,直接一个卡法,这个channel打到一个topic只能打到一个topic里了啊,就不能这个分开了,那通常情况下呢,我们还是把它分开啊分开那分开的话,你就可以用这个区分类型拦截器去做就可以,那那再往那区分这个拦截器,用到拦截器那看吧,那个拦截器又怎么加呢。哎,这块加上了拦截器。那看吧,这哪来的啊,不用慌啊,诶。直接就是看官网啊,最好的学习资料就是官网。拿过来还是CTRLF啊粘过来。这是拦截器吧?
10:07
我换成这个。找一下。拦截器。哇,这一一百八十六个。嗯,往下找啊,往下找别着急。卡拦截器,拦截器这都不是对这呢,你看这里面这才是标准的啊,这个intercept对吧,这是拦截器,那拦截器下面教你咋用呢。看啊教的这个非常清楚啊,你看这里面它是这个前面是组成了啊,不用说了,一个R啊,一个是south,一个是think,一个channel,那下面这是拦截器,拦截器这里面用了两个,一个是IE,一个是L2,对吧,那然后呢,拦截器IE,那你用IE的时候,你配置它什么类型,然后T。
11:03
那type的话,这里面org阿帕奇intercept啊,这是全类名啊,啊,这是全类名啊,记住了啊,后面的话得按照你自己自定义的这个intercept去配置就可以,然后后面呢,是这个host intercept,这是自己起的,这不是系统的哈,是自己起的,然后后面加上一个Dollar builder啊,后面会给你说一下这个Dollar builder哈,这相当于是调用这里面in the一个对象。啊,调用对象的一个方式,也调用自己一个实力。呃,再往下呢,这里面有一个,呃,Pass一个,这个不用管啊,这你直接配这个就行了,另一个拦截器I2TYPE,你要指定一个全列名,然后build。啊,就这么简单,来看一下吧。你看一下我这里怎么配的,这里面就是指定一个啊intercept,然后I2个拦截器,一个拦截器呢,是用于这个ETL的。对吧,叫ETL拦截器。然后另一个拦截器呢,是用于什么呢?用于这个区分类型的,那我看。
12:00
没了啊,结束了。就这么简单,你看I1的type什么?I2的type是什么?就可以了啊,所以说这个拦截器就已经配置完了哈。
我来说两句