00:00
好,那建表语句呢,最后呢,我们去拿过来就行了啊。因为我的克林号现在没开,那我们先把这个招聘拿过来啊。呃,扎va啊,那这里边放的字段呢,其实比较简单啊,首先呢,那当然有STT,然后呢,就是两个指标,因为它没有力度嘛,对吧,所以呢,就没有那些个维度了。就没有维度了啊,因为没有力度就没有维度对吧,所以呢,只有这个什么首页的访问用户数啊,访客数叫独立访客数,还有一个呢,详情页的独立访客数。诶,那这就搞定了对吧,没有力度啊,本来如果有力度的话,你还有多几个维度字段对吧?啊窗口还有TS加上这个维度加度量啊,就这样的东西。好,那接下来呢,我们还是到DWS这来对吧,创建一个类啊在这边。类名呢,我去拿一下啊,然后黑的东西咱们自己自己写啊,但是类名我就不写了。
01:05
尽量的跟文档保持一致嘛,PSM,好,那把这个思路呢,按照我们刚才说的整理一下,对吧,第一步。获取执行环境。读取。卡不卡叫页面日志。主题数据创建流对吧,那第三步将数据转化为接对象。将每行数据转换为。杰森对象啊,并过滤对吧,并过滤啊,因为我们只需要什么。首页。商品。详情页对吧,我只需要,因为我求的就是这两个,所以呢,我只需要这个数据那就够了。
02:05
对吧,我只需要它,其他的呢,我们就一概度不需要啊,一概都不需要了,好,那在这块呢,我们其实可以,呃,先提取我们的。事件时间生成mark对吧,你到后面提取也可以啊好,那我们在这儿提取了吧。第四步啊,那就提取。事件。时间生成。我的妈。啊,生成wordmark对吧。好,那第五步我们准备做这个驱虫啊,准备做这个驱虫,那就按照。这个mid分组。使用。这个状态编程的方式啊,使用状态变长吧,嗯,过滤出。
03:00
这个首页与商品详情页的什么?独立访客,哎,我只要这个内容对吧,那就是说你确实是一个,那我就改为一,否则改为零,如果你是两个零,我就不写出去,对吧,所以呢,它承担了过滤跟。修改数据的一个。任务啊,修改数据呢,就变成这个样子了,对吧,就变成它啊,那就是说这是一,或者说这是一,只要有一个就行了,或者他俩同时为一也行啊,但是但是他俩不可能同时唯一啊,因为它是它两个不同的什么。页面,那怎么可能我一条数据我是根据页面生成的,怎么可能一条数据里边有两个页面呢?不可能对吧?好,那也就是说我至少有一个为一,就是两个同时为零,那我就不要啊,那我就不要对吧?好那我们要改这个结构啊,在这那这一步做好之后呢,我们就可以开窗。聚合了。对吧,注意这个开窗聚合没有分组啊,因为你没有力度啊,所以你直接就开装聚合,这个是一个温度or开全能窗口,嗯,那聚合好以后呢,我们可以将数据写出到配号对吧。
04:16
好,那最后启动任务。哎,那这就是我们整个的一个思路,接下来呢,我们就来写这个内容,第一步获取执行环境,哎,把这个拿过来呗。没放对吧,好第二个读取卡夫卡页面日志主题创建这个流啊呃,那我们不一样的呢,我是去拿一下它的这个啊。主题名称啊,就不自己敲了,自己敲呢,容易敲错对吧,拿过来啊,好,那因为点at source叫my cover YouTube,点一个consumer topic groupd。
05:01
加倍得到一个卡夫卡的一个DS。对吧,接下来要转换为接次对象并过滤啊,这个呢,之前说过了,我们可以直接用。Flat map做这个事情对吧,没有一个诶map。啊,那这边呢,是three啊到杰森。先生啊,价格。对吧,啊接对象好,那这里面呢,我们肯定要去做一个转换啊。这样的话,我们得到这个JS价,但是呢,我们也知道它的页面到底是哪个啊,所以呢,获取页面信息啊,这是第一步转化为接送对象啊。第。获取当前页面ID对吧?好,那这个在哪呢?其实还是在这个配置里边啊,比如说来看这啊。
06:07
它的数据呢,还是在这个配置里边,然后当前页面是配置ID对吧,这个是last配置ID上一条页面啊,这个我们要获取的就是这个配置ID,先获取配置,然后获取配置ID对吧?好,那这边呢,就直接。杰森点。Object先呢,我们就获取配置对吧,再接下来点get string。获取配置ID抗压位,那我们就得到了一个配置。I,对吧,那这个数据我们要过滤啊,怎么过滤呢,过滤。那if配置ID它。嗯,这样我们这样写啊,首页后对吧,点equals这个配置ID啊。
07:04
或者。咱们是商品详情页对吧,商品。点ES咱们的配置ID,诶这两个任意满足就行对吧,注意啊,这边你最好还是找这个数据看一下啊呃,商品详情页过detail没问题吧,这是商品详情页,呃,首页的话我们看我们搜一下。后对吧,当天配置ID这个是首页啊,所以刚才写的。Home首页商品详情页,对吧,这两个满满足任何一个都可以,那我们可以将数据写出out.connect object,这样的话呢,我们之前就聊过这个事儿,对吧,把这个转换数据结构。啊,就是转化数结构以及过滤放在同一个方法里边,要不然的话你得写两次,你呢先转化为减速项,然后再去过滤,你要先写一个map,再写一个filter,但实际上可以不用,我们直接用来map就可以做到这个事情,对吧?这个之前我们就聊过这事啊,好康R奥加V,那我们就得到了一个接省OBJ的一个DS对吧?JA省对象OB加的一个SOK,那这块就搞定。
08:14
好。
我来说两句