应用场景1 | 学习笔记

简介: 快速学习应用场景1

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

课程地址:https://developer.aliyun.com/learning/course/705/detail/12515


应用场景1

内容介绍

一、应用场景  

一、应用场景

1.第一个场景是添加和配置处理器

(1)添加处理器:

aaa.png

在菜单栏中将 process 拖到面板进行搜索即可。

(2)设置处理器名称: 

bbb.png

通过右键 config 打开面板,在设置面板中修改处理器名称,一般有多个相同类型处理器时,需要修改名称,保证名称不重复,其次是可以保证可读性、易读性。

(3)设置 properties

ccc.png

每一个处理器,properties 选项不同。getfile 处理器选项如下:

Name Default value Allowable values

Description

Lnput Directory (输入目录) 

要从中提取文件的输入目录<br/> 支持表达式语言:true(仅使用变量注册表进行评估) 

File Filter(文件过滤器) [^.].*

仅选择名称与给定正则表达式匹配的文件

Path Filter(路径过滤器)

如果"递归子目录"为 true,则仅扫描其路径与给定正则表达式匹配的子目录
Batch Size(批量大小)

10

每次迭代中提取的最大文件数

Keep sourceFile(保留源文件)

fsles

Ture false

如果为 true,则将文件复制到内容存储库后不会蒯除该文件;这会导致文件不断被拾取,对于测试目的很有用。如果没有保留原始NiFi,则需要从其提取目录中具有写权限,否则它将忽略该文件。

Recurse subdirectories(递归子目录) 

True True false   指示是否从子目录中提取文件
Polling lnterval(轮询间隔)  0 sec

指示执行目录列表之前要等待多长时间
lgnore HiddenFiles(忽略隐藏文 true True false 指示是否应忽略隐藏文件 
Minimum FileAge(最小档案年龄) 0 sec

档字必须被拉出的最小年龄;小于此时间(根据上次修改日期)的任何文件将被忽略
Maximum FileAge(最长文件年龄)

档案必须被拉出的最大年龄;任何超过此时间(根据上次修改日期)的文件将被忽略

Minimum Filesize(最小档案大小)

0B

档案必须达到的最小大小
Maximum FileSize(最大档案大小)

可以拉出文件的最大大小

官方文档中保存了所有属性,可以通过搜索进行查看。

1.input directory。在操作时就需要进行设置,设置的目的主要是告诉 NiFi 处理器从哪一个目录读取所需要的文件。 2.Fire filter,文件过滤器,根据该设置项中配置的正则表达式来匹配文件名,如果匹配成功就会读取,否则不再读取。默认是所有文件都会读取。

3.path filter,路径过滤器,路径过滤器的主要作用就是在读取子目录时文件下,还有一些子文件,就需要使用所配置的正则表达式进行匹配,匹配成功才会进行读取,且有一个前提条件就是 DV 字母选项设置为 true。

4.Batch size,就是批处理的大小,默认值是10,每一次读取文件的时候,读取多少个文件,默认值是10个文件。根据具体的服务器配置,可以进行修改。

5.keep sauce file,也就是保留原文件,如果选择为 true,那么读取文件时,会把原文件的文件信息保存到内容存储库当中,并且不会删除。这会导致文件不断地被失去,不断地存储,对于测试来说有用,但是在生产环境中,不断增加数据,会导致磁盘不够用,占用大量的磁盘空间。设置为 true 之后,没有保留原始的 NiFi,可能是目录当中 NiFi没有写权限,没有权限,将忽略文件的写入,默认是 false,也就是说默认情况下不会保留原文件信息。

6.resource Subdirectories,是否读取递归子目录,和 path filter 相匹配,没有加黑证明不是非必填的,加黑的都是必填的,当递归子目录选项,选择是false时填就没有作用了,就可以不用填,所以说不是必填项,但是如果当为 true时,此时就需要填写,默认所有都递归。

7.Poling Interval,也就是轮循间隔,主要指目录列表读取的时候,要等待多长时间,也就是读取间隔。默认是0秒。 8.Ignore Hidden Files 忽略隐藏文件,默认是 true,如果是 true,一些隐藏文件就不会进行读取,如果设置为false,所有的文件,包含隐藏文件都会被读取出来。

9.最小档案年龄,意思就是档案必须被拉出的最小年龄,如果小于这个年龄的时间就会被忽略掉,不再进行读取,默认是零,也就是说所有都会进行读取。如果设置为1小时,那么这个档案在小于一小时的时间内不会再被读取。只会读取一个小时之后的数据。

10.Maximumfile,最长文件年龄,与最小档案年龄相对应。是指被拉出的最大年龄,如果超过这个时间就会被忽略。例如设置为1小时。那么如果文件。存入时间超过了一小时。这个文件就会被忽略。如果比一小时小,也就是一小时之前的数据就会被拉取出来。最长文件年龄是非必选项。最小是必选项。

11.最小档案大小,默认是0B,档案必须满足这个大小以后,才会去进行录取,如果小于这个大小,就不再进行录取,0B就是全部都读,不可能存在文件大小小于0B。最大档案的大小,和最小档案相匹配,可以拉出文件的最大的文件大小,例如设置的是100兆,如果有一些文件大于100兆,就会被忽略掉,不再去读取特大文件。

以上就是 get file 的属性。在动图中只需要设置的一个属性即可,因为其他属性没有过多业务要求,直接使用默认值即可满足测试需要。以上就是 get file 的创建。创建之后,会发现处理器会有 warn 提示信息。该提示信息可以进行针对性处理。

(4)演示如下:

打开 NiFi 界面之后,第一步是拖动 processor,创建一个处理器。

ddd.png

点击 ADD,进行添加。 添加之后设置处理器名称和属性。首先设置名称:

eee.png

名称默认是 type,为了避免名称重复,可以修改名称 pick up:

fff.png

此时处理器的名称已经发生改变:

ggg.png

修改完处理器名称之后,可以进行配置属性:点击 config- properties 进行设置:

hhh.png

还可以通过双击处理器也可以打开配置页面。还有一种方法是点击左侧设置按钮,也可以进入处理器的设置页面。在设计页面当中可以设置读取文件目录:

/export/temp/ source

点击 OK 之后,可以将该目录下所有文件读取出来,读到 flowfilw 当中,设置完属性之后,有一个感叹号,鼠标移动到感叹号以后,会发现有提示的错误信息:

iii.png

错误不解决,就没有办法执行,第一个错误:

'Input Directory' validated against '/export/tmp/source' is invalid because Directory does not exist

表示所配置的文件目录不存在。解决方法就是创建该目录。先复制文件路径,进入 Nifi 服务器。通过命令来创建,首先查看目录是否不存在:

[ root@locathost Logs]# cd /export/ tmp/ source

确认不存在之后。先进入到 tmp 目录下,查看到 tmp 目录下没有 source 目录,所以可以将其创建出来。如果没有tmp 目录,可以将两个都一起创建出来:

[ root@localhost export]# mkdir -p /export/tmp/ source

如果这三个目录都没有,会把这三个目录全部都创建出来。

如果不加-p,就会报错,就只能一个一个进行创建。

创建完毕之后,进入 tmp 目录,发现 source 目录已经创建好。此时返回面板,右键 refresh 刷新界面,将鼠标移动到处理器感叹号上,此时错误,只剩下一个:

'Relationship success' is invalid because Relationship 'success' is not connected to

该错误涉及到关联关系,打开 setting,右侧就是关联关系:

jjj.png只有一个叫 success ,如果没有任何连接的目的地时,就会报感叹号。此时不必着急,因为之后会添加新的处理器。 

相关文章
|
缓存 监控 网络安全
因服务器时间不同步引起的异常
因服务器时间不同步引起的异常
1161 1
|
1月前
|
前端开发 UED
突破异步困境:巧用Promise.all()优化前端性能
突破异步困境:巧用Promise.all()优化前端性能
276 116
|
SQL 监控 网络协议
线上故障如何快速排查?来看这套技巧大全
有哪些常见的线上故障?如何快速定位问题?本文详细总结工作中的经验,从服务器、Java应用、数据库、Redis、网络和业务六个层面分享线上故障排查的思路和技巧。较长,同学们可收藏后再看。
线上故障如何快速排查?来看这套技巧大全
|
1月前
|
人工智能 数据可视化 数据挖掘
2025主流BI产品深度评测,一文看懂企业BI选型
在数字经济时代,数据成为企业核心战略资源。商业智能(BI)已从传统报表工具演变为支撑决策、优化运营的关键基础设施。面对全民化分析、AI增强、嵌入式分析与云原生等趋势,企业需构建涵盖业务适配性、性能、成本、智能化与国产化等维度的选型体系。 本文对比Tableau、Power BI、Quick BI、FineBI、观远BI五大主流产品,揭示其在数据源支持、可视化、智能化、部署模式等方面差异,为企业提供科学选型参考,助力实现数据驱动转型。
2025主流BI产品深度评测,一文看懂企业BI选型
|
关系型数据库 MySQL 数据库
达梦(DM)2、创建数据库实例(Windows篇)(上)
上篇文章,我们已经成功安装了达梦数据库,下面我们一起来看看怎么使用达梦数据库吧
4272 0
达梦(DM)2、创建数据库实例(Windows篇)(上)
|
Java 微服务 Spring
【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的区别
【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的区别
371 0
|
数据可视化 jenkins 测试技术
GitLab CI/CD 和 Jenkins对比
8月更文挑战第25天
1572 5
|
Ubuntu Shell Linux
docker安装tar包安装
docker安装tar包安装
2300 2
|
存储 Linux Docker
在Docker中,如何更改Docker的默认存储设置?
在Docker中,如何更改Docker的默认存储设置?
|
数据可视化 数据挖掘 BI
我最常用的两个数据可视化软件,强烈推荐
我最常用的两个数据可视化软件,强烈推荐
373 1