Flow File 操作2 | 学习笔记

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 快速学习 Flow File 操作2

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

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


Flow File 操作2

进入 CsvToJson 处理器,这个处理器当中保存的就是刚才通过导入 template 文件,引入进来的处理器流程,首先要更改第一个组件,希望它可以指在主节点上,独立的去造数据,所以需要修改这个配置文件,将这个模式改为主节点独立运行,然后,希望这个组件在造数据的时候,是能够造出来是 text 文本数据,方便后续去查看数据是否正确,保存

image.png

进行运行,这个时候会发现的队列当中,已经有数据进来,

image.png

接下来可以查看队列中,这个属性输入的数据,这是可以看到已经有数据了,可以点击左侧的这个 info 按钮,然后打开的这个窗口就是 flow file 的详细内容,可以点击 view 来查看具体的信息,这里面是一个字符叫 N,也可以下载这个 flow file,

image.png

在右侧还有一个叫 attributes,这里面保存的是这个 flow file,它所包含的一些属性,刷新一下,看到有新的数据进来了,

image.png

可以点击左侧的来进行一个查看,点击第一个最新的数据来看,也是 N,看第三个,全部都是 N,也就是这个处理器,发送的都是一样的数据,将它停掉可以更改它的配置,把 unique flowfile 可以将它改为 true,这时候所创造的每一个文本文件都是唯一的,这时再来启动,然后再来查看的队列,再查看最新的一个数据,

image.png

最新的数据是 N,这个是等号,就是最新的数据是在下面,旧的数据是在上面,再来刷新看一下,现在是11,点 view,这时候变成 u 了,再来看第12个也是 u,看第13个就变成3了,但这里面有一个问题,现在虽然第一个处理器,是在单节点运行的,但是希望后续的所有流程是能够通过负载均衡,通过集群的方式,去进行消费,并行的消费,可以设置的这个队列消息,右键点击设置,然后在这里面,因为的处理器还在运行,值都不可以更改把它关掉,关闭掉以后,再来进行右键 conflict,然后再来进行编辑,现在可以去修改了,

image.png

在这个 setting 面板面板下面有一个叫做 load balance strategy,负载均衡的消费策略,默认是不进行负载均衡,可以把它修改一下,Round Robin 是负载均衡消费,而且它是通过轮巡的这样方式,去进行负载均衡,然后选完以后,后面又多出了一个选项叫 load balance compression 也就是压缩,默认不进行压缩,可以选择只压缩的属性,也可以选择属性和文本内容都进行压缩,这里选择全部都压缩,来提升一个传输的速率,点击保存,这时候会发现在这个队列当中有一个图标,这个图标的意思是正在把这个队列当中的数据进行负载均衡地分发,分发给不同的集群当中的节点,分发完之后,这个图标又会变化,这个情况,就说明已经分发完毕了。

image.png

接下来 replace text 都做了哪些操作,通过右键点击 conflict,可以在这里面看到,里面是把它的值变更了,变更了是通过正则表达式的方式去进行匹配变更的,然后会对整个文件进行一个变更,这里面的正则表达式,实际就是匹配所有的,也就是会把所有的内容全部都变更,变更成为这个 ABCD 字符串,

image.png

接下来来运行的 replace text 这个时候可以看到已经把数据处理完了,然后停掉的处理器,来查看队列中被处理以后的数据,这个时候已经有数据了,点 C,点击一个查看详情,点击,可以看到已经把它更新为了 ABCD 这样的一个字符串,也可以再查看一些其的点击,全部都改为了 ABCD 这样的一个字符串,

image.png

之后可以查看 Extract text 这个处理器所做的工作,右键点击 configuration,然后在这里面可以看到,在最下面有一个叫做 CSV 的自定义属性,这个自定义属性的内容,就是一个正则表达式,这个正则表达式就会匹配的 ABCD 中间是用逗号进行分隔,

image.png

怎么去添加新的自定义属性,可以点击右上角的这个加号,然后点了加号以后需要设置,这个属性的名称,比如叫做CSV2,点击 OK 就会提示让输入的正则表达式,比如这里面表达式就像刚才的是用点儿加来匹配的字符,通过逗号进行分隔,然后不断的以此类推,这样去写就可以把的匹配成功的数据复制,flow file 新的这个属性当中,这个属性名称就是这个自定义属性的名称,值就是正测表达式匹配而之,如果没有匹配成功的话,这个数据它就会推送到失败,也就是没有匹配到的这个流当中去关系当中。

接下来,来运行一下这个处理器,这个处理器的正则表达式正好能够匹配成功,之前的那个 ABCD 走出来,所以可以看到它全部都留到了这个 matched 的关系当中,可以把它停止一下,来打开这个关联关系,在这个关系当中,可以看到 matched 都会输送过来,

image.png

对列中数据,可以看到属性框,点击 view ,view 里面的内容和原来是一样的,可以看到有一个 CSV 这样的一个属性叫 a,然后还有 CSV1 CSV2 CSV3 CSV4分别是 ABCD,这个意思就是把之前文本里面的 ABCD,通过正则表达式匹配以后,形成了一个数组,然后把这个数组分别复制给了属性 CSV 的第一个值,第二个值和第三个第四个值,所以就会新增五个属性。

image.png

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
API 索引 Python
Sonar分析项目时失败ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
Sonar分析项目时失败ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
Sonar分析项目时失败ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
|
4月前
|
JSON 开发工具 数据格式
【Azure Event Hub】Event Hub的Process Data页面无法通过JSON格式预览数据
【Azure Event Hub】Event Hub的Process Data页面无法通过JSON格式预览数据
【完美解决】Github action报错remote: Write access to repository not granted.
【完美解决】Github action报错remote: Write access to repository not granted.
|
6月前
|
分布式计算 DataWorks 数据库连接
DataWorks操作报错合集之同步脚本报错This error often occurs when a lot dirty data exists in the source data. 是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
7月前
|
DataWorks 数据管理 大数据
DataWorks操作报错合集之DataWorksUDF 报错:evaluate for user defined function xxx cannot be loaded from any resources,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
122 0
|
资源调度 JavaScript 前端开发
Flow 学习笔记
Flow 学习笔记
133 0
|
调度 开发者
Flow file 生成器2 | 学习笔记
快速学习 Flow file 生成器2
120 0
Flow file 生成器2 |  学习笔记
|
开发者
Flow File 操作1 | 学习笔记
快速学习 Flow File 操作1
106 0
|
开发工具 git
git 报错 RPC failed; curl 18 transfer closed with outstanding read data remaining
这个错误是因为项目太久,tag资源文件太大 找了很久网上都说这样: 配置如下: $ git  config --global http.
9657 0

热门文章

最新文章