<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大大毛 的筆記

      DDM's Note

    哪怕沒有辦法一定有說法,
    就算沒有鴿子一定有烏鴉,
    固執(zhí)無罪 夢(mèng)想有價(jià),
    讓他們驚訝.

    posts - 14, comments - 23, trackbacks - 0, articles - 58
       :: 首頁 ::  :: 聯(lián)系 ::  :: 管理

    Oracle資料推送MQTT

    Posted on 2019-04-10 15:25 大大毛 閱讀(403) 評(píng)論(0)  編輯  收藏 所屬分類: Nifi
    需求
    將資料從Oracle推至MQTT,資料結(jié)果使用JSON格式
    場(chǎng)景1:直接推送
    場(chǎng)景2:僅當(dāng)資料有變更時(shí)才推送

    解決方案
    QueryDatabaseTable --> ConvertAvroToJSON --> PublishMQTT


    Processor及其設(shè)定:
    QueryDatabaseTable作用是從DB中撈取資料,可以想象Nifi把它轉(zhuǎn)成一個(gè)Select語句在執(zhí)行


    • Database Connection Pooling Service:在Configure中設(shè)定的數(shù)據(jù)庫連接,可以在Processor Group中被共用
    • Database Type:這個(gè)設(shè)定的是Oracle。其實(shí)它與數(shù)據(jù)庫連接設(shè)定有點(diǎn)重疊,那邊已經(jīng)有指定是哪一種類型的DB,這里需要再指定,我想會(huì)不會(huì)是利用它來生成不同的Select查詢語法?
    • Table Name:表名,我這里使用的是View名稱,View其實(shí)就已經(jīng)對(duì)Table做出一些限定,可以挑選列及設(shè)定查詢條件
    • Maximum-value Columns:這個(gè)屬性很重要,如果不設(shè)定則Nifi在查詢的時(shí)候會(huì)撈取所有的資料,如果有設(shè)定某個(gè)列,則Nifi僅會(huì)撈取“新”資料
      • 例如圖上設(shè)定“BATCHID”這個(gè)列。第一次Nifi啟動(dòng)時(shí)撈取資料中最大BATCHID = 10,則下一次Nifi再次啟動(dòng)時(shí)就只會(huì)撈取BATCHID>10的資料,并且會(huì)自動(dòng)記錄下已經(jīng)撈過的最大值
      • 最大值保存在下面這里,Processor上右鍵選擇“View State”


      • 下圖可以看到當(dāng)前最新的值,點(diǎn)“Clear State”則可以將保留值清空(Nifi下次啟動(dòng)時(shí)就會(huì)撈取所有資料)

    • 對(duì)于僅需要簡(jiǎn)單拉取資料的場(chǎng)景1來說,“Maximum-value Columns”置空即可;而對(duì)于僅在資料有更新時(shí)才要拉取的場(chǎng)景2來說,則需要設(shè)定并且在View中做出一些調(diào)整才可以達(dá)成
      • 當(dāng)有資料更新時(shí),則被更新資料的BatchID會(huì)是更新的值,所以只要在View中虛擬BatchID列 = Max(BatchID),就可以達(dá)成有資料更新才要拉取的效果
    ConvertAvroToJSON,將Avro類型資料轉(zhuǎn)換為JSON,這個(gè)可以不用改設(shè)定

    PublishMQTT,將資料Publish到MQTT指定Topic
    • Broker URIMQTT的Broker地址
    • Client ID發(fā)布MQTT的Client端ID(注意不要多個(gè)Processor使用相同的Client ID,這樣Processor容易被卡死)
    • Topic發(fā)布至MQTT的Topic名稱
    • Retain MessageMQTT的遺言屬性,即是否保留推送的消息(若設(shè)為false,則僅有當(dāng)前連上MQTT的客戶端才能收到這筆消息)

    i am ddm

    主站蜘蛛池模板: 精品国产一区二区三区免费看| 国产一区二区免费视频| 青青青国产在线观看免费网站| 亚洲AV无码日韩AV无码导航| 久久久免费观成人影院| 久久久久亚洲AV综合波多野结衣| h片在线播放免费高清| 中文字幕亚洲综合久久菠萝蜜| 一级毛片a免费播放王色电影| 亚洲伊人成无码综合网 | 国产成人在线观看免费网站| 国产亚洲精品影视在线| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 国产三级电影免费观看| 免费毛片毛片网址| 亚洲人妻av伦理| 久久青草精品38国产免费| 亚洲精品乱码久久久久久下载| 日本免费xxxx| 亚洲成在人线aⅴ免费毛片| 国产在线19禁免费观看| 特a级免费高清黄色片 | 成人免费无遮挡无码黄漫视频| 亚洲а∨天堂久久精品9966| 国产高清免费的视频| 一本大道一卡二大卡三卡免费 | 1000部拍拍拍18勿入免费凤凰福利| 亚洲免费视频播放| 国产免费观看黄AV片| 中文在线观看永久免费| 亚洲日产2021三区在线| 日本最新免费不卡二区在线| 两个人www免费高清视频| 亚洲精品美女久久久久| 国产成人无码区免费A∨视频网站| 在线观看免费视频网站色| 亚洲成aⅴ人片在线影院八| 亚洲成a人片在线观看老师| 91精品导航在线网址免费| 风间由美在线亚洲一区| 亚洲AV无码国产丝袜在线观看|