应用场景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 ,如果没有任何连接的目的地时,就会报感叹号。此时不必着急,因为之后会添加新的处理器。 

相关文章
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
|
19天前
|
机器学习/深度学习 人工智能 边缘计算
高算力服务器的应用场景
【10月更文挑战第18天】高算力服务器作为现代信息社会不可或缺的计算资源,正广泛应用于各行各业。从人工智能到科学研究,从智能交通到数字孪生,它为复杂的计算任务提供了不可替代的支持。
26 0
|
2月前
|
数据采集 机器学习/深度学习 搜索推荐
Python爬虫技术基础与应用场景详解
本文介绍了爬虫技术的基本概念、原理及应用场景,包括数据收集、价格监测、竞品分析和搜索引擎优化等。通过一个实战案例展示了如何使用Python爬取电商网站的商品信息。强调了在使用爬虫技术时需遵守法律法规和道德规范,确保数据抓取的合法性和合规性。
|
5月前
|
Kubernetes 容器 Perl
K8s是什么?k8s应用场景是什么?
K8s是什么?k8s应用场景是什么?
|
6月前
|
机器学习/深度学习 搜索推荐 算法
2024年将成为大模型应用场景之年
【1月更文挑战第9天】2024年将成为大模型应用场景之年
125 2
2024年将成为大模型应用场景之年
|
6月前
|
负载均衡 Kubernetes 混合部署
k8s 中externalTrafficPolicy应用场景和实践
在Kubernetes(K8s)中,`externalTrafficPolicy` 是一个用于控制服务的外部流量的策略。这个字段可以在 `Service` 的定义中设置,其主要作用是决定服务对外部请求的负载均衡行为。具体来说,`externalTrafficPolicy` 有两个可选值: 1. `Cluster`: 默认值。当设置为 `Cluster` 时,服务将负载均衡流量到所有的 Pod,无论这些 Pod 是否在同一节点上。这意味着即使请求来自于同一节点的多个 Pod,流量也可能被负载均衡到不同的节点上。 ```yaml apiVersion: v1 kind: Se
630 1
|
搜索推荐 数据挖掘
141 推荐系统的应用场景
141 推荐系统的应用场景
62 0
|
Unix Linux 开发者
应用场景2-1 | 学习笔记
快速学习应用场景2-1
117 0
应用场景2-1  |  学习笔记
|
数据可视化 开发者
应用场景2-2 | 学习笔记
快速学习应用场景2-2
121 0
应用场景2-2 |  学习笔记
|
编解码 自动驾驶 物联网
5G 之三大应用场景剖析 | 学习笔记
快速学习 5G 之三大应用场景剖析
5G 之三大应用场景剖析 | 学习笔记