一、实验环境
本实验采用的Apache nifi 版本为1.9.1,mongDB版本为4.0 数据库管理客户端为 studio 3T
二、实验步骤
1、首先进入自己nifi文件夹中的bin目录里双击 run.nifi.bat 运行nifi 等待一段时间后 进入http://localhost:8080/nifi/
2、进入页面拖拽出一个processor到画布的空白处
3、在搜索栏搜索出GEtFile这个进程器并点击ADD添加
4、同理重复3,4的操作添加processor PutMongoRecord到画布上
三、配置GetFile(Getfile是一个能够将本地文件上传到nifi的一个进程器)
首先在Getfile右键点击选择configure进入配置页面,配置页面中首先进入PROPERTIES 进行属性配置,其中黑体标粗的为必须配置的属性
在这里我只简单介绍一下属性 INput Dircetory 和 File Fitter。
INput Dircetory :应该填入一个你电脑上存放你要上传的数据的文件夹路径
File Fitter 的值是一个正则表达式,通过对正则表达式的编写可以在INput Dircetory中你写入的文件夹中匹配出相应的文件,其默认值为匹配全部。
四、配置PutMongoRecord (是一个能够将其他格式的文件如csv,直接写入mongDB的进程器)
同样右键点击选择configure进入配置页面,配置页面中首先进入PROPERTIES 进行属性配置,其中黑体标粗的为必须配置的属性
首先要添加的属性是 mong url 如果在本地的话且mongDB占用的是默认端口的话其值为 mongodb://localhost:27017
monggo database name 是你的数据库名字
mong collection name 是你的mongdb的集合名字
添加属性ecord reader ,recoder reader这里我们选择 添加组件csvReader、csvReader的作用是读取csv格式的 文件并将其以数据库的格式存入数据库,在添加完这个属性后我们会发现进程器的左上角还是感叹号(有感叹号时代表进程器配置有误),这是因为我们在recoder reader中我们虽然添加了csv reader却没有对其进程器进行激活配置,因此我们需要点击下图中 的箭头对 csvreader进行激活配置配置
进入这个页面我们选择csvreader的齿轮状的图标我们就可以对进程器进行配置 点击闪电状的图标可以对组件进行激活 state状态栏代表该进程器的状态其中disable代表未被激活状态
我们通过apache nifi的官方文档可以对 csvreader进行设置其设置结果就会体现到数据库的组织结构,在我的配置中我将 csv format(即你的csv文件的原格式)设置为Microsoft excel 将treat first line as header(是否将第一行作为数据库中的列名) 设置为true
然后连接组件,点击运行就OK了最后我的nifi连接图如下
值得注意的是我们连接时我们要在settingg里面给定一个 Automatically Terminate Relationships 一般我们都选择successs
最后在附上我的studio 3t的结构图以及最后数据集和数据库的结果图
由于第一次写博客,nifi这个东西也是我新学的,所以难免会有各种问题希望大家多多包涵。以后会陆续把前面nifi的基础知识介绍补上也会陆续更新一些nifi与其他组件(如spark kafka )的连接操作