天天看点

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

作者:一只爱笑的程序猿
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

上一节我们留了两个问题,一个是,如果我们没有创建putfile要写入的目标文件夹,会报错吗?

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

可以看到我们putfile目标文件夹是上面这个目录

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

我们来试一试,如果目标文件夹不存在,putfile处理器会自动创建吗

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

首先我们删除这个target目标文件夹

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

然后我们进入cd source目录,源文件夹目录,然后

生成一个文件去看看

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

可以看到已经处理了,这个时候没有目标文件夹,然后我们看看

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

可以看到去目标文件夹看看,已经有这个文件了,说明没有目标文件夹创建的话,也是可以自动生成文件夹的,不会报错,为什么可以这样

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

因为这里的熟悉的配置可以看到,create missiing directories这里,如果是true,那么

当缺少目标目录的时候,会自动创建,false的时候会报错

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

可以看到默认是true

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

然后我们改成false试试,可以看到还不能改,因为这个处理器还在

运行中

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

这里我们首先先去关闭这个putfile处理器

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

先去关闭

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

可以看到就可以选择false了,可以设置了,我们设置为false,然后应用

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

然后再重新启动

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

然后首先我们把目标文件夹删除钓,然后

然后我们再去写一个文件hello-world.txt

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

可以看到执行的时候报错了

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

错误就是说,没有对应的文件夹对吧,并且他也没有自动给创建

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

然后我们再去看,可以看到target文件夹,并没有创建,也没有写入文件成功

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

然后我们再来看这里属性,我们再把create missing directories 改成true

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

然后我们再来看这个重复文件名报错的问题

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

可以看到也有属性解决冲突,可以看到这里可以选择

几个策略,可以覆盖,保留,报错

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

默认是报错,我们这里改成

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

replace覆盖,然后我们再来试试

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

可以看到我们先创建一个hello-world.txt文件,可以看到已经写入到

target文件夹去了,然后我们再去

cat hello-world.txt可以看到内容也正确,然后我们再写一个

文件hello-world.txt 文件名一样,但是 内容,我们加个agin在后面

然后再去target文件夹中看,可以看到,这个hello-world.txt的内容,已经覆盖原来那个

hello-world.txt的内容了.

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

这样就解决了这两个问题.

nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件
nifi大数据之---设置putfile自动创建文件夹_自动覆盖重名文件

​编辑

然后写一下总结