天天看點

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自動建立檔案夾_自動覆寫重名檔案

​編輯

然後寫一下總結