Follwfile 生成器1 | 学习笔记

简介: 快速学习 Follwfile 生成器1

开发者学堂课程【NiFi 知识精讲与项目实战(第二阶段):Follwfile 生成器1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/706/detail/12533


Follwfile 生成器1

内容介绍:

一、generate flow file

二、replace text 解析

三、实操


一、generate flow file

在 nifi 的集群当中,会把 nifi 的各个知识点来深入的学习,并且也会使用具体的案例来进行一个演示操作。

flow file 生成器,主要指的是 generate flow file 以及的 Please text 处理器,这两个处理器配合在一起,经常会用于生成数据,对平时的这个测试和调试会非常的有帮助。再来看一下 generate flow file 它的一个解析,这个处理器,它主要是使用随机的数据或者。自定义的这个内容数据来创建新的流文件,Generate flow file,它主要是用于负载测试,以及的仿真测试。具体属性配置如下图,

image.png

第一个 full size,这个配置项,主要是配置 generate flow file,每一次生成的这个文件流的大小。如果是做正常的测试,普通的测试可以设置的稍微小一点,如果要做一些压力测试,可以把这个数值设置大一些。

第二个 batch size,主要指是这个 gerate flow file,它每一个批次所创建的这个 flow file 文件的数量。比如在这里面设设置的是一兆,这里面设置的是五批次,设置的是五,这个意思也就是每一次的 flow file 都会创建五个一模一样的文件,并且每个文件大小都是一兆。

第三个是 date format,这个主要是指定的数据是文本还是二进制,一般来说会使用文本格式。

第四个是 unique flow file,也就是 generate flow file,所创建的这些数据,是不是唯一的默认值是 false,如果选择是改成 true,所生成的每一个流件都是唯一的,也就是都不一样,如果是使用默认值 false,处理器生成的这个值在第一次会生成一个随机值,在接下来的所有的流文件都会使用这同一个文件的内容,这个它、所有的数据是一样的,对于业务的测试用处不大,但是它对于去模仿吞吐量,以及的高并发是非常有帮助的。

第五个是 custom text,主要就是指的这个文本是不是使用自己的文本,如果在这里面填写的有值,这个generate flow file 它所申请的数据就会使用自己的在这填写的来进行创建,当然前提条件是要使用这个默认的 text,如果改成了 binary,这个就不会生效。

第六个是的文本格式默认值 Utf-8。

组件和应用场景,主要是用来进行测试,然后配置成这个设计人员,所需要的这种业务数据,也可以用来进行压力测试和负载测试,但是这个 generate flow file 不一定只是用来测试使用,也可以在一些业务场景中出现。比如想要实现一个流程,查询多个表,要想查询多个表这个表名,就可以做成 json 格式,配置到的 custom tax 这个配置项当中。通过 json 配置到这里面以后,就后续可以通过其的处理器把这个 json 切割,拿到每一个具体的表名,然后再去查询这不同的表明的数据,这样就可以实现一个流程查询多个表数据


二、replace text 解析

replace text 这个处理器,就像它的名字是一样的,它主要就是用来替换流文件内容,它支持使用正则表达式以及其他的,这种类似的功能来实现替换。

image.png

Replace text 的属性第一个 search value,这个意思是是填写一个正则表达式,匹配中的,就会进行变更。匹配得不到的就不会进行变更。

第二个是 replace value,主要就是这个匹配的这个目标值,也就是说,会把匹配到的数据替换成这里面的填的数据,比如说原来这个数据内容是 AAA,匹配到以后要把它替换成 BB,这就是填写 a 的这个最大值,这就是填写的。要替换成了 BB 这样的一个文字。

第三个是这个字符集,UTF8。

第四个是支持的最大的这个文本数量,文本字节数,如果说某一条消息超过了这个限制,就会报错。

第五个 replacement strategy 主要就是说替换的一个策略默认值是使用正则表达式,这种策略来进行替换,还有一个是替换,究竟是使用什么方式来替换,是一行一行的单独进行替换,还是对整个文件进行这种替换。

应用场景,主要就是进行文本内容的替换,业务逻辑当中会经常的应用到,就算去写这个 spark 代码,也会经常用到这种文本处理的这些业务逻辑。


三、实操

首先第一步可以创建一个 generate 的 flow file,然后,对这个生成文本的大小进行设置,设置完生成的文本大小以后,再来配置这个 file 具体的生成的内容,可以自定义它生成的数据,当然也可以让随机生成数据。设置完后,再来创建另外一个组处理器,也就是的 replace text 创建完以后把这两个进行连接,连接完以后就可以启动的generate file,并且查看 generate  file 所生成的数据到底都是哪些。generate file 查看完执行的结果,以后的结果会送达到的关联队列当中去,这时的 replace text 并没有接收到,需要先配置,然后再去启动的 replace text,接下来就是配置的 replace text,将 replace 匹配的策略,以及这个变更的内容设置解决,设置完之后然后就可以创建一个 kudu file 这样的文件、这样的处理器将替换以后的数据写入到的某一个具体的文件当中,然后处理完之后,就可以把这个处理器停止掉,然后,去查看写出来的这个文本的内容,这就需要注意处理器不用以后,一定要记得关闭,否则的话会一直占用的服务器资源。

相关文章
|
7月前
|
Python
|
前端开发
前端学习案例4-迭代器和生成器4
前端学习案例4-迭代器和生成器4
92 0
前端学习案例4-迭代器和生成器4
|
前端开发
前端学习案例6-迭代器和生成器6
前端学习案例6-迭代器和生成器6
70 0
前端学习案例6-迭代器和生成器6
|
前端开发
前端学习案例3-迭代器和生成器3
前端学习案例3-迭代器和生成器3
66 0
前端学习案例3-迭代器和生成器3
|
前端开发
前端学习案例2-迭代器和生成器2
前端学习案例2-迭代器和生成器2
98 0
前端学习案例2-迭代器和生成器2
|
安全 Python
一日一技:一个生成器如何当两个用?
一日一技:一个生成器如何当两个用?
104 0
|
前端开发
前端学习案例5-迭代器-生成器5
前端学习案例5-迭代器-生成器5
63 0
前端学习案例5-迭代器-生成器5
|
前端开发
前端学习案例4-迭代器-生成器4
前端学习案例4-迭代器-生成器4
57 0
前端学习案例4-迭代器-生成器4
|
前端开发
前端学习案例6-生成器和迭代器1
前端学习案例6-生成器和迭代器1
70 0
前端学习案例6-生成器和迭代器1
|
设计模式 缓存
TinyId生成器
TinyId生成器 的nextId、getNextSegmentId,一个是获取segmentId,一个是获取nextId。也即生成的过程中,首先会生成一批数据的maxId和delta、reminder等信息,然后获取nextId。而这个过程中,首先需要有idGenerator对象。目前可以看到其多次使用double check,基于单例模式。同时基于缓存,使用了抽象工厂模式,获取idGenerator的时候。
306 0
TinyId生成器

热门文章

最新文章