[ETL] Nifi 初體驗 — Inert

閱讀時間約 2 分鐘
這次有機會可以測試Nifi,是因為公司想要將用了多年的ETL工具替換掉,因此找了Nifi來做測試。測試的案例,先選擇最簡單的方式:

Backup Case
這看起來簡單的流程,其實對第一次玩Nifi的我,已經是很大的挑戰了。這過程中,遇到最大的問題就在於,Oracle的SQL並不會區分大小寫,但Nifi在判別SQL時,是會有大小寫之分的,因此無論我如何檢查DB或SQL,最後都還是會出現”Table not found, ensure the Catalog…..”的錯誤,最後請專業DBA的幫忙,才查出這個小細節。
Nifi 的設計如下:
Nifi for Insert Flow

1. QueryDatabaseTable
主要就是用SQL將資料從DB拉出來,可以利用原始的欄位填寫,Nifi會自動組成SQL,抑或自己寫SQL去抓。
QueryDatabaseTable Setting

2. ConvertAvroToJSON
將資料型態從Apache專屬的Avro轉變成JSON。什麼原因需要這個Process呢,主要是因為下面"ConvertJSONToSQL",因此才需要將資料留做轉換。其中的JSON container options設定上選擇"array"和"none"在我的測試案例中,會產生不一樣的結果:
  • array:會將資料拆分為多筆。
  • none:僅會留存一筆。(哪一筆還需要進一步測試。)
ConverAvroToJSON Setting

3. ConvertJSONToSQL
將JSON的資料轉換成SQL,SQL可以選擇Insert、Update、Delete。這邊的Table Name以Oracle為例,需填寫大寫,如填寫小寫會出現找不到Table的錯誤訊息。處理SQL的模式是依照?的概念處理的,例如Insert into (Column1,Column2) value (?,?),將?的值放在Attribute裡。
ConvertJSONToSQL Setting

4. 就來到最後的PutSQL,來執行從前一關組成的SQL。設定上沒有特別研究。
PutSQL Setting

做完第一個流程後,心中還有幾個想要加入流程中:
  • 在Insert前多加Delete。
  • 能控制執行的次數,列如多加GenerateFlowFile的Process。
結論: 這個流程上,都沒有用到"Record Reader"和"Record Writer",設定上比較簡單。
2會員
5Content count
留言0
查看全部
發表第一個留言支持創作者!
Hedwig Hsu的沙龍 的其他內容
解決完Inert的問題之後,下一個想在測試的流程就是SQL中的Join,是因為這方式在原本的ETL工具中使用最多功能。
解決完Inert的問題之後,下一個想在測試的流程就是SQL中的Join,是因為這方式在原本的ETL工具中使用最多功能。
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
去了旭山動物園看企鵝、科學教育館,也第一次吃了懷石料理~跟我們一起去旭川逛逛吧~
Thumbnail
我們去北海道玩耍,第一次體驗商務艙與機場貴賓室,再訪我們的愛店~
Thumbnail
ETL是資料倉儲領域中一個重要的概念,全稱為Extract-Transform-Load,中文可譯為"抽取-轉換-載入"。ETL的作用是將來自不同來源的資料抽取出來,經過清理、轉換、整合等處理後,最終將處理好的資料載入到資料倉儲或其他單一的資料存放區
Thumbnail
歌名為玫瑰與盔甲。大家應該都馬上想到小王子的隱喻。但愛玫瑰一定是小王子那樣嗎? Antoine Elie這首歌編曲旋律聽起來滑順偏甜,乍聽只聽出唱的是給玫瑰的絮語。玫瑰原來是有刺的,而愛包容了玫瑰的刺。再仔細唱吧,愛足以包容刺,拯救了玫瑰。真的是這樣嗎?
Thumbnail
某天素顏自拍,發現臉也比霧唇前年齡-5(我認真沒開玩笑!!!!!!) 揮別坎坷命運的老唇,真心謝謝發明這個技術的人還有我那位有點冷漠但是老神在在可愛霧唇師
Thumbnail
巴哈花精 由英國巴哈醫師(Dr. Edward Bach)所發明,花精的功效在於心靈最脆弱的時候,適時提供援助。巴哈醫師:「生命不要求我們無止盡的犧牲,只要我們快樂的度過人生的旅程,並為旁人造福。如果我們造訪地球,能讓這世界變得好一點,那麼我們已完成了人生的任務。」
Thumbnail
很榮幸能夠受邀上 Podcast 節目「談性說愛」聊聊我的心路歷程。雖然不是第一次分享我的生命故事,但這種訪談倒是初體驗。在一問一答中,我腦袋跟著不停思考,聊著聊著就會迸出新的想法,探索出不同的可能性。
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
去了旭山動物園看企鵝、科學教育館,也第一次吃了懷石料理~跟我們一起去旭川逛逛吧~
Thumbnail
我們去北海道玩耍,第一次體驗商務艙與機場貴賓室,再訪我們的愛店~
Thumbnail
ETL是資料倉儲領域中一個重要的概念,全稱為Extract-Transform-Load,中文可譯為"抽取-轉換-載入"。ETL的作用是將來自不同來源的資料抽取出來,經過清理、轉換、整合等處理後,最終將處理好的資料載入到資料倉儲或其他單一的資料存放區
Thumbnail
歌名為玫瑰與盔甲。大家應該都馬上想到小王子的隱喻。但愛玫瑰一定是小王子那樣嗎? Antoine Elie這首歌編曲旋律聽起來滑順偏甜,乍聽只聽出唱的是給玫瑰的絮語。玫瑰原來是有刺的,而愛包容了玫瑰的刺。再仔細唱吧,愛足以包容刺,拯救了玫瑰。真的是這樣嗎?
Thumbnail
某天素顏自拍,發現臉也比霧唇前年齡-5(我認真沒開玩笑!!!!!!) 揮別坎坷命運的老唇,真心謝謝發明這個技術的人還有我那位有點冷漠但是老神在在可愛霧唇師
Thumbnail
巴哈花精 由英國巴哈醫師(Dr. Edward Bach)所發明,花精的功效在於心靈最脆弱的時候,適時提供援助。巴哈醫師:「生命不要求我們無止盡的犧牲,只要我們快樂的度過人生的旅程,並為旁人造福。如果我們造訪地球,能讓這世界變得好一點,那麼我們已完成了人生的任務。」
Thumbnail
很榮幸能夠受邀上 Podcast 節目「談性說愛」聊聊我的心路歷程。雖然不是第一次分享我的生命故事,但這種訪談倒是初體驗。在一問一答中,我腦袋跟著不停思考,聊著聊著就會迸出新的想法,探索出不同的可能性。