日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql导入excel数据失败_nifi入门从Excel数据导入ES开始

發布時間:2024/8/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql导入excel数据失败_nifi入门从Excel数据导入ES开始 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

nifi為不同系統間數據流動而生,其可視化的界面操作允許用戶零編碼實現不同系統間的數據流轉。Nifi的架構如下圖所示:

NiFi在操作系統上的JVM內執行,JVM上NiFi的組件包括Web Server、Flow Controller、Extensions、FlowFile Repository、Content Repository、Provenance Repository。具體每個組件的作用和相關用法可以查看相關說明文檔,查看組件用法可以到官網https://nifi.apache.org或在nifi畫布中選擇組件右擊打開“view usage”查看。

Nifi也能夠支持集群模式,NIFI集群采用了Zero-Master Clustering模式,NiFi群集中的每個節點對數據執行相同的任務,但每個節點都在不同的數據集上運行, ZooKeeper選擇單個節點作為集群協調器,ZooKeeper自動處理故障轉移。集群架構如下圖所示:

更多Nifi的知識請查看官方文檔,下面從一個Excel表格數據的導入ES集群來了解一下nifi的使用。

任務描述

有如下圖所示的Excel表格數據為某web的訪問數據,每個表中含有多個sheet,sheet的名字為數據來源,數據為非結構化數據,每個sheet的字段略有不同。數據導入數據庫的同時需要標明數據來源于哪個sheet。

NIFI數據導入流程

因為多個sheet中的字段有差異,所以選擇ES作為數據庫將多個sheet統一導入一個索引中。在nifi中構建的完整導入流程如下圖所示,數據經過Processor成功處理進入下個環節,處理失敗流轉到LogAttribute Processor。

  • GetFile Processor拉取表格
  • ConvertExcelToCSVProcessor 將Excel多sheet表格轉為多個csv Flowfile
  • ConvertRecord Processor 將csv Flowfile轉換為Avro Flowfile
  • SplitRecord Processor 將從csv取到的Avro Flowfile按行split為單條Avro
  • UpdateRecord Processor為每一條數據添加source字段標明數據來源,并將Avro Flowfile轉為json Flowfile
  • PutElasticsearch Processor 將數據存入ES
  • Processor配置

    GetFile Processor需要指定文件目錄、需要獲取的文件過濾條件、是否保留源文件等屬性。

    ConvertExcelToCSVProcessor Processor中根據Excel的格式,選擇跳過前3行,CSV Format選擇Microsoft Excel。

    ConvertRecord屬性設置中指明Record Reader和Record Writer分別為CSVReader和AvroRecorderSetWriter。

    SplitRecord Processor中并沒有修改Flowfile的格式,僅將從整個CSV中獲取的的Flowfile按行分割為每行一條。

    UpdateRecord Processor屬性設置中選擇Record Writer為JsonRecordSetWriter將數據格式轉換為json,添加source字段,source的值為屬性值sheetname,標明數據來源。

    測試環境的ES版本為2.4.3,所以選擇PutElasticsearch Processor將json數據導入ES,若ES版本為5.0以上,選擇PutElasticsearch5處理器進行數據導入。

    PutElasticsearch Processor需要指定ES的集群名、主機地址及端口號、ES的index、ES的type等屬性。

    配置完各組件后即可啟動組件進行數據導入,可以在NIFI的畫布頁面實時查看數據導入情況,也可以通過es接口查詢數據導入情況,正確導入ES的數據如下圖head插件所示。

    Reference

    https://nifichina.github.io/

    https://nifi.apache.org/

    總結

    以上是生活随笔為你收集整理的sql导入excel数据失败_nifi入门从Excel数据导入ES开始的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。