00:00
呃,那我们想啊,输入数据,你一定要注意输入数据呢,它。这个地方。就是两边,我们现在要分析这两条,这两个方法里边到底要做什么事,对吧?呃,那我们先写广播流,这个没问题,因为广播流呢,我们希望它先写到状态,那你这边才能读嘛,对吧,这是写状态,这个是读状态啊,最核心的功能在于这儿,对吧?好,那此时呢,它是string,但是我们的状态定义的是什么类型。是table process啊,很明显这边呢要做转换,也就是说这里边做的事情很多对吧?好,那这边呢,我有一个PPT啊,直接给大家。我们一块来看一下啊,我们这里边要做的事情就在这儿,对吧,好点开。呃,咱们呢,有两个方法,一个呢叫process broadcast element,处理广播流的,这个呢,Process element理主流的对吧?好,那这里边第一我们就是我们要写的这俩方法,我们要做什么事呢,对吧,首先是。
01:08
广播流啊,那我们刚才说了。广播流呢,这个数据来了。原始的输入数据类型是string,对吧?但是呢,我们定义map state script的时候,就是状态描述器的时候,我们写的value的类型是table process,所以很明显第一步我们要将这个spring。解析成table process。对吧,啊,所以第一步叫获取并解析数据,方便主流操作有没有问题。一步一步来啊,这等会都是我们要写的,要翻译成代码的。东西对吧,这第一步获取并解析数据对吧,方便主流操作,这是第一个第二个。那就见表对吧?校验表是否存在啊,如果不存在,那就见表,如果存在了,那就不用了,因为我们写的是initial。
02:03
啊,假如你多次执行的时候,他可能会读到重复数据,对吧,第一次读了挂掉了,重新读,诶又从这个从头开始。对吧,那。我是不是应该表已经见过了,我就不再见了,对吧?所以呢,要校验表是否存在,当然这个校验呢,你也不用真的去校验,因为我们在写建表语句的时候,我直接一句叫create。Table if not exists。还要表明是不是就好了,对吧?我加一个if not exist,它是相当于做了校验了,对吧?当它不存在,它才会真正创建,如果已经存在了,它就不会创建了,所以写上校验是告诉大家你要确保这个事情对吧?但是你真的你不用说,哎,我是不是要exist判断一下,不用你直接写if not exist就行了,对吧?这表语句里边加上这么一个关键字就行了,这是第二个,那第三件事情就很简单了,就构建我们的状态啊,将数据呢写到状态里边。
03:03
好,关于广播流这边大家有没有疑问?没有的话扣一啊,我们要做的三件事情。没有问题,扣个一好吗?应该还是比较好理解的吧,因为我们之前是随着一步一步下来的,对吧,整个逻辑是串起来的啊好,那这个有了。那么接下来主流数据。主流数据大家能推出来他应该做什么事吗?首先第一步你看啊,我主流数据想要处理,我必须得拿到这个数据吧,所以第一步获取状态的配置信息,诶这边有个箭头连起来,那这样的话就把我们广播流数据跟主流数据关联起来了,就这一步。
04:00
对吧,好,那接下来呢,过滤字段吧,过滤字段根据我们刚才所说的叫s column。过滤主流数据资料。还记得我们举的例子,ID。PM name logo UR,哎,Logo URL没有用对吧,建表的时候不需要,但是主流读过来的数据一定会带的logo ul,所以呢,我们一定要根据字段过滤。对吧,好,那有一个非column啊,对主流数据做过滤,那么第三件事情就简单了,写出去呗。对吧,但是写出去的时候要补充think tables的,因为我们在配置信息里边。是不是加了一个。表示菲尼斯的表明大家还记得吗?对吧,我们有一个Phoenix表明,那这个呢,是用于我们将数据写到pix的那。
05:00
主流数据输出。啊,对于主流数据我们要做输出。说出以后。我们是干什么事的?输出以后,我们是要将数据写到phoix,那我们的数据里边是不是得有Phoenix的表明啊?能理解吗?这个应该没问题吧,所以最后第三步虽然输出,但是你要记得补充这个字段,OK吧,要补充think table字段啊,好,这是我们整个的一个内容。啊,整个的内容。对吧,好,那我把这个呢截个图。这是。广播流。这个是。主流主流还在后面对吧,我先放到另外一个屏幕上面啊。好,那我们等会儿呢,先写这个内容OK吧。这是我们对于。我们接下来要写的内容呢,做了一个需求分析,对吧?啊,接下来我们就真正的来写这个东西啊。
我来说两句