温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
那接下来我们看一些比较常见的问题啊,第一个呢,是咱们的存储一直看不到数据啊,如果是流式的写入的话,呃,要提醒大家的是,请确认你的checkpoint是开启的,因为它刷写数据是要依赖于checkpoint来触发呢啊。那这一点就是fli的write,有三种刷的时机策略,第一种呢,就是关于bucket,在内存积攒到一定的大小,默认是64兆,第二一个是总的buffer大小,达到了一定的大小,是一个G啊,这其中一个满足都会触发一个刷新,另外一个呢,就是这两个都达不到,那这个时候是由checkpoint来触发的,加内存里的数据flash出去啊,不要忘了这回事儿啊。嗯。呃,接下来呢,就是发现呢数据有重复,呃,数据有重复这个事呢,原因有很多,呃,或者说跟你使用的方式有关系啊,那其中呢,如果你是cow写的话啊,建议开启这个参数,这个是表示什么?出现重复的时候,在插入时出现重复要怎么做啊,是直接丢弃还是怎么样啊,那这个出现的我有的同学说那不是有一个upset吗?那不是根据判断存在不存在吗?对吧?怎么会出现重复呢?呃,有可能是不是你用了b insert对不对啊,这个时候的一致性是没法保证的吧?啊另外一个咱们cow写每个BY的第一个文件,大家注意,第一个文件默认是不去重的啊,只有增量的数据才会去重。
01:45
全局去重需要这个参数来开启的啊。那MO2表的话就不用管了,你只要定义好组件,默认就是全局的去重啊。也就是说指定一个域合并字段嘛,另外如果咱们是要多个分区之间去重,不要忘了咱们那个全局索引,把索引设置为全局的,那这个。
02:11
一零之后默认就是处啊,所以这个咱们也不用管啊,默认就是flink里面,咱们这个就是全局,全局的一个缩影。另外呢,就是咱们有个参数是索引的保存时间,因为索引不是存在状态里嘛,那我们它有一个TT的设置啊,默认是1.5天,就会将超过1.5天的索引就是清了啊。那所以你这个要酌情来考虑啊,那如果你把它设置小于零,代表永久保存啊,属性默认是零啊,也就是说没有去设啊这个东西,这是几个要注意的地方,数据重复的问题啊,就分Co跟Mo Co主要是一个参数,主要是索引被清理了。
03:01
那还有一个就是merge on read mo2表只有log文件,你发现一直没有徘回的啊,呃,因为咱们二默认这个异步压缩是开启的,对不对啊,除非咱们手动将它关掉啊,指定为关闭啊。嗯。那这个时候,呃,其实前面我也给大家演示过了,就是在做一个compassion的时候啊,就前面在给大家讲这个压缩参数的时候,不是演示过了吗?诶发现一直只有log没有compassion,后来咱们是不是去log里面搜索compassion关键词,发现有compassion执行,但是它执行失败了,还报错了,对不对啊,所以我们定位到问题是一个依赖的问题,我们补充一下,发现就OK了,就能够生成PA回的文件了啊,所以就是要学会去观察具体日志,而不是简简单单看一个异常,说没有就不管了啊,不要这样。这是几个比较,呃,可能会遇到的问题啊,这也是大家刚接触啊,不太熟悉啊,咱们简单提一嘴。
我来说两句