00:00
那STEM差呢,还提供了一些优优雅的API,呃,能够让我们更快的去开发flink的应用啊,也就是说我们说了,他给我们做了一些封装,使用起来就更简单了,那首先了解第一个就是项目的一个配置,如果要使用stream差的API啊,需要有一些配置文件啊,那么也知道stream差呢?基于参数配置的问题,是不是统一化了,标准化了,对吧,他提出了一个统一程序配置的概念。它可以将我们一系列的参数啊,按照指定的格式指定到一个配置文件里面。相当于说一个模板。那启动的时候,它就可以自动帮我们完成一些初始化工作。那除了普通的应用,包括里面。也给我们做了一些封装啊,那circle的话,我们就可以写在一个叫circle点这么一个配置文件啊,一共是这两个东西啊。
01:03
那如果大家写过一些比如说Java程序吧,啊,你想想传统的一个Java程序,呃,就比如说我们要去访问MYSQ,那我们会将MYSQL的配置,我们是不是得写UI啊,是不是得写用户名,是不是得写密码,对吧?那这些你会直接代码去指定吗?那太死板,太不灵活对不对?那所以我们一般这些像呃这个配置我们是不是会写在一个配置文件了。那配置文件我们通常要么格式是properties。对吧,要么就是用。要么就是SM是不是都可以?这是不是通常我们写Java程序的时候会使用的方式对吧?把一些参数配置放在配置文件里面,那代码里面呢,就是读取配置文件,然后对应去设置。这样更好啊,更优雅,那其实spring差,我们知道它的后端是不是主要是用spring啊,Spring BOO来写的啊,所以呢,其实它也是通过这种方式啊,所以没什么特别的啊,没什么特别的,那所以它的用的是ya格式的啊。
02:12
那我们一会看一个具体的案例,呃,就知道了,那我们直接怎么看呢?呃,我们来到STEM叉的官网啊,Stream叉harb.com,我们看一下它的代码,那它有GI harb还有G体的啊GT肯定是国内访问更快啊,我直接一点。那点进来是stream它的一个源码,那我们点击在它的这个用户名string叉harm,它有一个示例啊,就这个quicker star,再点一下,看一下那个配置文件怎么写啊,我们先选择一个data string啊。呃,点击1.13吧。然后要使用它的一个API啊,啊,它是assembly的方式啊,这文件夹得有啊,这个配置文件得有。那我们回头开发的时候,只需要是不用自己写啊,你只需要把这两个东西拷贝到你的工程目录下就可以了,那么看一下assembly文件夹里面啊,最主要是这两个啊,一个是病,一个是com。
03:13
B呢,就是他给我们写好的几个脚本啊,这个不用自己写啊,不用不用改也不用动,那我们要动的就是这个。com下面有一个yamo配置文件啊好,点开我们看一下里面有什么东西啊,这是特别熟悉的格式了吧啊,如果写过SP boot的呃同学呢,应该对这个这种写法很熟悉啊,那我看一下有什么东西呢?啊在固定的flink程序啊,部署选项目标呢,首先选择一个部署模式对吧,杨坡job吧,还是application。然后是是否是分离模式啊。啊,还有keepper的命名空间啊,Java manager配置项啊等等都可以去指定,还有呢。Pipeline name,你可以理解为作业名称就是E。
04:03
烟点cut里面传的这个job内啊,还有一些参数啊。你看这是什么?所以每个TM的数对吧,还有默认并行度啊,就是说白了就flink的一些参数呗。这些是不是通通封装了一些呃,Flink的参数啊啊,那你根据需要可以去写嘛,啊,当然它这个名称简化了一下,你要跟他对应起来,要跟他定义好的能够识别到的名字来写啊。那这个呢,你看task manager的一些参数啊,主要是内存参数可以这么去调,还有呢,这个po的参数像什么开关呢,间隔呀啊,语翼级别啊,超时啊,还有对齐非对齐啊。还有what间隔?还有什么呢,动态的后端的一些配置啊。状态个po存储的文件系统状态后端用的SDB对吧?呃,保留的这个po数量啊,最近一个这些都可以去改。
05:07
还有你看像重启策略,一般我们也会去指定重启策略,有固定延迟重启,还有一个故障率。重启对吧,还有一个默认啊。还有呢,如果是circle,我们用的printer,一般现在都是什么blink,也就blink啊,那老的那个官方的那个已经基本不会去用了。那模式呢,是不是有流模式,还有P模式啊,也可以在这指定。还有呢什么呢,外部系统的配置像卡不卡的,呃,JDBC的像买的你看。这些东西大家发现没有,都是陌生的东西,但是以往我们这些所有的参数配置是不是。写在代码里面,那样是不是太死了,那现在呢,这个就是我们项目配置文件,是把各种各样的参数。啊,统一起来,规范起来,那我只需要在配置文件去就行了。
06:01
不管我写几个程序,写几个应用,那这些都是通用的参数。这个就是我们的一个使用方式啊。那我们再来看看这个circle。在里面呢,是怎么写呢。啊,点这个点FLINK3考模块,呃一三好,那你看一样是assembly,还有一个asm文件。Assembly同样只看了一个什么。com。那除了这个项目通用配置之外,我们还可以定义一个circle的文件,你看这里面写什么,写circle。为什么要在这里写circle,是不是更优雅,更简洁?以前我们如果通过代码来写flink circle。除了创建一堆环境之外,我们是不是还要写一个CU circle?然后里面传了一个字符串,那往往这个字符串就是这些内容是不是很长,是不是很多换行,然后拼接,拼接加号,拼接起来是不是很优雅,要改也不是很方便,那如果我们在配置文件来写车口就舒服多了啊。
07:08
是便码。那这样用起来就很舒服了啊,特别舒服。那我们看一下一个项目架构啊,我们怎么来写。我们想使用这种方式啊,啊,那我们创建完工程之后,呃,那你看首先这个assembly这个文件夹,我们把它拷贝进来就行了,然后呢,呃,里面的配置项再去做对应的修改,这就OK了啊其次如果你想做日志打印呢,啊,这边把一个log bag啊配置文件拿过来就行啊,还有这个。Assembly对应的一个配置啊,也拷过来,说白了把这三个东西拷过来是不是就OK了,接下来可以进行一个开发了啊。
08:00
嗯。嗯。这是我们一个通过STEMAPI啊,需要配置的一些东西。
我来说两句