00:00
好,三节课呢,我们自定义完这个UDF啊,我们就可以取出对应的公共字段,同时呢,事件字段当中的ET,比如说里面的这个数组我们是能够取出来的,你说接身数组能取出来,那下一步呢,我们要自定义UDFUDTF,主要针对的就是解析这个接森数组,大家看一看具体的逻辑是什么样的。Apple。啊,这里面是对应的这个还是这个今日数据,那这是怎么解呢?哎,这是怎么解,那我们日后要用到这个UDTF会怎么用哈,会用到一个炸裂啊,Letter view,然后Fla analysis这个呢,是我们后面定义的起的这个自定义udf的这个名称啊名称,然后传进来的是一个OPS。OS它代表的是谁呢?代表的是这块内容。代表的是这块内容哈,也就是说这个数组里面的这个内容。啊,这个输入引内容怎么取,是通过那个UD啊udf对吧,Udf传进去ET值就能够取出来这个值啊这是这么这么得到的哈,啊用的时候那再往下自定义udtf。
01:14
需要继承一个generate udtf啊,没啥说的,重写里面三个方法,Process close。那首先我们写的是这个初始化方法,在初始化方法里面做了两件事儿啊,记住这两件事,一个呢是定义输出参数的名称,另一个呢是定义输出参数的类型,那你看我们这个用这个列函数的时候,一个呢是事件的名称,一个是事件内容,事件的名称在这呢。这都是事件的名称,那事件的内容呢,是这一个数组里面的元素,一个数组里面的元素是这样的一个一个组合啊,还是那句话,在深刻里体会一下,传进去的是一行接身数组的数据,出来的话是每一个数组里面。的一个元素的值,而且这里面会分成两个,一个呢是这个名称,一个呢是这一个整体在这,那这个呢也是。
02:07
啊,这个是这个是名称对吧?啊名称然后呢,这是一个整体放在这儿啊,希望做到的是这么一个效果哈,好,那这块呢,我们定义的就是事件的名称和事件的机身整体。呃,Close这块我们暂时不做啊,之后呢,是这里面的process输入一条记录,输出若干条记录也是若干行,那怎么做到的呢?这里面process传进来的是一个object数组啊数组,那如果零,它取出的是一条日志。比如说一条日志呢,表示的这个是截止数组这一条,我们这里面呢,是一进多出,你们日后啊,如果是遇到一些功能复杂的话,有可能是出进来多行。出去也是多行,也说这个UDTF是支持多进多出的,那所以说他给你的输入参数呢,是一个数组。
03:00
啊是一个数组哈,是这么一个原因,那本质这里面我们只用到是一个,那所以说带零,然后同视音变成input,那input呢,这里面做了一个合法性判断,是否是这个空,如果空的话直接出去了。啊,不空的话,继续往下走,那继续往下走的话,那你下面这个整体,它本身就是一个接身数组,那你就拗一个接身数组。啊,然后后续这里面接着数组呢,也不能为空,为空的话直接返回,那后面的话就是便利这里面接临时数组。取出一个一个的元素。哎,每循环一次就取出一个元素,取出一个元素干什么事?取出元素要封装成两个字段。从这个元素里面,我要取出来对应的事件名称和对应的事件整体,哎,这里面就是说定义了两个值,也就说你用一个时间啊,TO2个值,那两个值在一个里面封装的是这个对应的en,也就事件的名称,另一个呢是事件内容。啊,然后进行一个方管的往出写。啊,写出一个forward,类似于这个什么呢?类似于你们写MR里面有一个呃,contest.right contest.right你说每次一个work count,对吧?Map阶段处理完一个单词,那就要con,点这个,呃,点right一次是一样的。
04:15
你说来一个元素,我这里面forward result,结果出去一个来一个出去一个啊批处理哈这样。行,那这是初步有一个印象,那下面的话我们来写一下这个业务逻辑。这是具体的一个,嗯,过程啊。
我来说两句