00:00
好,那接下来呢,我们继续往后聊对吧?呃,接下来呢,是属于我们的业务数据了,你看啊交易域对吧,那我们先整体分析一下,在这里边我们可能会遇到什么问题,比如说这个订单与订单明细做关联对吧,两个流关联,诶流的作用呢。要做流的draw了。对吧,好,那还有一个。我们在离线书仓里边还做过一个东西,叫维度退化。对吧,叫维度退化这么个事情吧,那维度退化讲的是什么呢?就是说我在构建这个时表的时候,把有的维表啊,直接怎么样合并进来。不在DWS层里边去关联了,对吧,直接在这个地方做一个叫维度退化啊,那也就是说我们要把这个。实时表跟维表进行一个。
01:00
关联。啊,要把这个关联啊,陶总你别说话了,你这个必安排自己要求的,我不可能不安排,你知道吧,你别说话了。让我上课对吧,你然后你在这儿叨逼叨啊,没人听的,我告诉你。好,那也就是说我们很明显要先聊一下这个draw对吧,然后还有跟为表的一个draw啊,那我们draw呢,要学的东西就是说。Data stream。啊,然后呢,还有这个flink so的draw,还有这个look up draw就为表的draw,诶,这三个draw我们都要去聊一下。好吧,啊,那今天呢,可能时间不够,那没关系,我们还有周五吧,到时候接着聊,这属于我们前置知识点先呢,我们把这个需求先放一放,把我们所需要准备的知识点先讲一下啊,首先第一个做招引对吧?呃,那我们先讲。这个data stream的好吧。
02:01
打开这个官网啊。好,进到我们的这个文档里边。还是看这个01:13啊。呃,现在我们都要问到data STEM API,然后呢,这有一个operators操作对吧?哎,这里边呢,就有一个join。啊,这有个状元我们打开看一下,当然之前大家也稍微讲过一点,对吧?啊,但没关系,我们来看一下啊。再把这个呢写一写,然后呢,更重要的要跟flink circle要对比一下好吧。首先呢,它join分为两类对吧,一类是window join,一类是叫interval join,那window join叫开窗呗,在窗口内部进行join对吧,他做了这样的一个事情啊,在窗口内部进行招引,好,那分为三类,诶我电脑怎么卡了啊。
03:11
分为三类,一类呢,叫汤姆。这个网页有点卡感觉啊。一类呢,叫我们的这个tomlin对吧,啊tomlin window转引,然后呢,第二个叫S,那这个很明显就是开窗在窗口内部进行join引对吧,出来结果000102啊0110112333窗口内部吧,而这个滚动窗口照影啊。大家有没有感觉它很像Spark stream不做开窗,就直接拿着两个批次做招引,对吧,也就是相当于Li里边呢,我们那个滚动窗口。如果说设置的大小,窗口大小与Spark那边的批次它一样大。
04:02
啊,它一样大。那么。就可以怎么样看作是一样的创意。对吧,看到一样照应,在窗口内部进行照应,而且写法上呢,也很简单,看怎么写的啊,首先呢,Orange three,对吧,陈留照应绿流啊,然后呢,Will。点equal to,呃,那join有on字段嘛,假如说两个表join是不是有on词段呢?对吧?所以这个相当于你俩谁关联对吧?然后呢,开窗apply join方式。玩了。这个简单对吧,啊好,那第二个来,那这个就滑动窗口呗,无非就是说照应结果有重复你看。这个这一部分是不是第一个第二个窗口都包含它呀,数据有重复对吧,还有一个会话窗口,会话窗口呢,它必须要两个流同时满足,这么长时间没有数据,它才会关窗,你看其实他早就满足这个。时间了,但是并不会关窗对吧,因为他就拿着同一个时间窗口做创引。
05:04
他要拿同一个时间窗口做状语,所以呢,它有两个同时满足啊好,那这里边。还是一样的啊呃,那大家看完这个温状语之后,你觉得这里边儿。有符合我们这个。订单与订单明细表join的操作吗?我们应该选哪一个呀?订单与订单明细表要做专业,很明显我们肯定有这样的需求,对吧,离线数仓里边也有这样子的啊,新成DWD的时候把相关实时表都关联起来。那我们应该用哪个呢?你觉得我们应该用哪一个?
06:02
啊,那就涛总你说一下。你有哪个?陶总,你回答一下好不好?毁了啊,什么哪个连问题都不知道。你的心很乱。唱个歌让你心很乱啊。其他同学呢?你觉得我的订单与订单明细表?啊,对,就唱,我的心太乱好不好,就唱这个啊。
07:00
大家说一说我们订单与订单明细表,那在窗口照映里边我们该用什么呢?我们该用什么?啊。用绘画。规划合适吗?绘画合适吗?首先我们来分析啊,呃,滚动窗口它有什么问题?
08:04
滚动窗口它有什么问题。是不是他可能会丢数据啊,是不是因为有没有可能刚好你订单与订单明细呢,诶就插着这两个边。其实他俩怎么样?其实它俩没有间隔两三毫秒对吧,那因为你窗口划分零到五,诶那这样左闭右开对吧,左闭右开五到十,可能呢,你这条数据是4999,我这个数据呢,是5001毫秒数啊。对吧,那就差个两毫秒对不对,只差个两毫秒,但是它有可能划分到两个不同的窗口里边了。那就会怎么样。丢数据对不对,所以在我们Spark streaming里边,咱们怎么做的引用了。Red吧,对吧,把先到的数据放到red里面。是不是把这个先到的数据放到red里边,诶,后到的去red找吧,所以Tom window呢,它有可能会丢数据,好那。
09:11
滑动窗口呢,很明显刚才说了重复数据吧,你自己再重复数据,那会画窗口呢,好可能大家想到了,那这样一说只能是会话窗口,那你再仔细想一想,会话窗口里边有没有可能有问题。会话窗口里边有没有可能有问题?你想一下啊,我看有没有同学打出来,那陶总你来回想一下好吧,你把这个问题回答了,其他同学不要说话了啊,把这个问题回答了,我把你名单去了好吧。郁总,邓总,你在干嘛?单总。
10:00
那。涛总,邓总说的不对。啊。涛总说的不对,你说。时间久,什么叫时间久啊,你解释一下,解释一下。解释一下时间久是什么意思啊?陶总你解释一下好不好?我我不明白这个时间久什么意思。来,邓总解释一下什么叫时间久啊,我不明白呀,我听不懂。对吧,啊,谢谢邓总。没用。来来解释解释。陶总赶紧。
11:04
涛总解释,涛总解释,我要涛总解释。会话窗口join执行会话窗口连接,你这从哪复制的啊?所有具有相同键的元素。当组合。有道翻译那有什么用啊,你你你把那个翻译一下有什么用啊。你你把这句话翻译一下有什么用啊,我要你解释那个时间久是什么意思。解释不了,那你还得唱歌。
12:07
啊,你你还得唱啊,人家邓总都告诉你了,时间久,这是什么意思呢?比如说。我订单与订单明细对吧,我我关联好,那如果说高峰期我一直有数据吧。我是不是一直有数据,那会怎么样。那你这个窗口就关不了,你延迟太高了,明明我两个小时前下的订单,我这两个小时呢,就是这两个小时可能一直有人在下订单。对吧,那一直有数据,一直有数据,那会怎么样完了呀。对吧,关不了了。啊,关不了了,对吧,啊,它有可能会出现这样情况。对吧,啊,他有可能会关不了了,你直接这样去做处理。对吧,啊,这就时间久啊。带来的一个问题吧。对吧,就是会话窗口啊,所以说呢,在我们如果要用两个理由做双引呢,其实这个窗口招引啊,都不太合适,都不太合适,对吧,所以呢,下面还有一个叫in装啊,那我们。
我来说两句