在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

求一種基于flink的數字集成方案

QuTG_CloudBrain ? 來源:移動Labs ? 2023-03-17 14:27 ? 次閱讀

Labs 導讀

數據集成平臺作為連接各種異構數據的紐帶,需要連接多種多樣的存儲系統。而不同的技術棧和不同的業務場景會對數據集成系統提出不同的設計要求。

1

概述

在實際私有化物聯網平臺項目中,部分存量設備由于異構總線、多制式以太網、協議多樣化等因素導致無法直接連接物聯網平臺,大量數據較難集成,平臺側和設備側面臨大量定制化開發,成本較高。因此難以推動客戶或設備廠商進行存量設備接入改造,導致設備無法直連物聯網平臺,無法達到物聯網平臺對企業所有設備數據進行統一納管。

企業內部存量的數據采集系統多為“煙囪式”,各個廠商的系統只需對接自己廠商的設備即可,數據孤島問題突出。

各“煙囪”的數據格式各不相同,定制化采集任務代碼不可復用,費時費力,難以同時支撐多個項目。

除了設備數據采集外,還有業務數據采集需求,傳統物聯網系統只能采集設備數據而無法集成業務數據。

fd23e4ec-c48b-11ed-bfe3-dac502259ad0.png

2

技術選型

數字集成技術通過對不同系統數據的抽取(Extract),數據清洗和轉換(Transformation)以及輸入最終的目標系統(Load),打通各個業務孤島,實現數據互聯互通,助力企業數字化轉型。由于物聯網場景下的數據處理大多都要求實時性,所以要求實現時具備實時數據處理能力。實時計算也被稱作流計算,代表是Storm、Spark Streaming、Flink等大數據技術。計算引擎也在不斷更新迭代,從第一代的Hadoop MapReduce,到第二代的Spark,再到第三代的Flink技術,從批處理到微批,再到真正的流式計算。

Apache Flink是一個開源的流處理框架,應用于分布式、高性能、高可用的數據流應用程序。可以處理有限數據流和無限數據,即能夠處理有邊界和無邊界的數據流。無邊界的數據流就是真正意義上的流數據,所以Flink是支持流計算的。Flink可以部署在各種集群環境,可以對各種大小規模的數據進行快速計算。

Flink框架具備強大的流式ETL的能力,依靠其豐富的算子實現。

2.1 Source算子

Flink可以使用StreamExecutionEnvironment.addSource(source)來為我們的程序添加數據來源。

Flink已經提供了若干實現好的source functions,當然也可通過實現SourceFunction來自定義非并行的source或者實現ParallelSourceFunction接口或者擴展RichParallelSourceFunction來自定義并行的source。

Flink在流處理上的source大致有4大類:

基于本地集合的source(Collection-based-source)

基于文件的source(File-based-source)- 讀取文本文件,即符合TextInputFormat規范的文件,并將其作為字符串返回

基于網絡套接字的source(Socket-based-source)- 從socket讀取。元素可以用分隔符切分。

自定義的source(Custom-source)

使用自定義Source算子可實現豐富的數據抽取功能。

2.2 Transform轉換算子

① map

將DataStream中的每一個元素轉換為另外一個元素,如將元素x變為原來的5倍:

dataStream.map { x => x * 5 }

② FlatMap

采用一個數據元并生成零個,一個或多個數據元。如,將句子分割為單詞的flatmap函數:

dataStream.flatMap { str => str.split(" ") }

③ Filter

計算每個數據元的布爾函數,并保存函數返回true的數據元。如,過濾掉零值的過濾器:

dataStream.filter { x != 0 }

當然flink還具備很多其他功能的轉換算子,如KeyBy、Reduce、Aggregations等,通過豐富的轉換算子,flink可實現對數據的清洗和轉換功能。

2.3 Sink算子

Flink的sink算子支持將數據輸出到:本地文件、本地集合、HDFS,除此之外,還支持:sink到kafka、sink到mysql、sink到redis以及自定義sink算子。

通過自定義sink算子將清洗轉換完成的數據輸入目標系統。

3

數字集成實現

實現過程如下:

fd3add3c-c48b-11ed-bfe3-dac502259ad0.png

第一步,抽象定義基礎控件類

數字集成基于flink可抽象定義3類基礎功能控件,每類控件又可根據不同的功能實現具體的子類功能控件;詳細如下:

基礎功能控件分為三類:數據源控件、數據輸出控件、數據處理控件。

fd626aaa-c48b-11ed-bfe3-dac502259ad0.png

數據源控件:將Source算子抽象定義成具備抽取數據功能的數據源控件類,并制定相應的配置規范,使用時只需根據規范配置文件,系統根據配置文件創建具體的實例化對象,實現數據抽取功能;

數據操作控件:根據不同的基礎功能需求將Transform算子抽象成數據處理控件類,制定相應的配置規范,使用時只需根據規范配置文件,系統根據配置創建相應的實例化對象實現數據處理功能;

數據輸出控件:將Sink算子抽象成數據輸出控件類,制定相應的配置規范,使用時只需根據規范配置文件,系統根據配置創建實例化對象實現數據輸出功能。

同時系統內部明確定義flink算子之間流轉的數據格式作為內部流轉數據格式以及根據配置輸出每個基礎功能控件輸出的數據格式。

第二步,根據抽象定義的基礎功能控件,制定具體配置規范

基礎功能控件規范如下:

fd6ebd1e-c48b-11ed-bfe3-dac502259ad0.png

通過以上兩步規范定義后,在同一個系統中,同一個處理過程只需要定義一個基礎功能控件規范。如Kafka消費者所需的配置如Kafka集群地址、消費群組、數據所在topic、數據所在分區key,消費位置等,只需要規定上述舉例這樣一個Kafka消費控件并開發實現,該控件就可以在該系統中復用,每次配置的數據處理工作流,復用Kafka消費控件類并根據新配置的源系統提供的Kafka集群地址、數據所在topic等配置即可實例化該工作流所需的kafka 消費者,實現過程從開發無數次Kafka Consumer的代碼變為實現一次Kafka Consumer控件代碼,大量節省開發時間和開發成本。

第三步,通過對基本功能的抽象,實現如HTTP請求、kafka生產、數據遍歷、條件循環、數據映射、MySQL寫操作等基礎功能控件并實現,再根據各個基礎功能運行的先后邏輯組裝相應配置執行腳本來編排組建成一個完整flink流處理鏈路,即可完成不同系統間的數據集成功能。

如在私有化項目中有將設備廠商云平臺中智能門鎖狀態信息同步至自有云平臺進行智能門鎖控制的需求,由于智能門鎖設備協議與自有物聯網平臺數據采集協議不適配,無法直連,由設備廠商云平臺提供智能門鎖狀態信息推送功能,由自有物聯網平臺提供推送數據接收接口,完成智能門鎖狀態信息的同步功能。

在此案例中,通過flink框架的自定義Source算子實現HTTP POST功能接口的HTTP監聽控件完成設備廠商云平臺的推送數據接收功能,將接收到的智能門鎖狀態信息根據智能門鎖ID、狀態status與自有云平臺存儲的狀態進行比較的IF分支控件,將存在狀態變化的智能門鎖狀態信息數據向后序Sink算子流轉,通過自定義Sink算子實現自有云平臺數據上傳功能,完成智能門鎖狀態信息的跨平臺更新功能。

fd7f701e-c48b-11ed-bfe3-dac502259ad0.png

第四步,根據組建好的執行邏輯生成有向無環圖,提交Flink運行,具體如下:

通過對不同的基礎功能控件,基于有向無環圖,將基礎功能控件放入有向無環圖的頂點,其中整個圖中只有一個數據源控件,且無其他基礎功能控件可以將數據傳輸給它;數據輸出控件和數據操作控件可以多個,對應多條分支處理邏輯。將數據傳輸方向作為有向無環圖的邊,以此連接和組織跨系統數據傳輸過程中針對數據的不同邏輯順序,生成一條完整的數據傳輸處理鏈路,將此圖完整實現,提交flink執行,即可實現完整的數據抽取、轉換以及輸出的數字集成功能。

4

總結

最后我們來總結下基于Flink的數字集成能力的實現。得益于flink在ETL數據集成上的豐富能力以及算子之間易于處理的基礎功能,我們將flink的3類算子進行抽象定義實現3類基礎功能控件,實現不同的數據處理過程。根據不同的功能需求,通過Source算子實現從消息隊列、API、數據庫等多種數據源抽取數據的功能;通過豐富的Transform算子實現數據的清洗、篩選、轉換的功能;最后可通過Sink算子實現將目標格式數據輸入目標系統接收數據的渠道如消息隊列、數據庫、API等。綜上所述,基于Flink的數字集成能力是可以實現并且具備豐富功能和可擴展性的。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5590

    瀏覽量

    174955
  • 數據采集
    +關注

    關注

    40

    文章

    7000

    瀏覽量

    115817
  • MYSQL數據庫
    +關注

    關注

    0

    文章

    96

    瀏覽量

    9790
  • HTTP協議
    +關注

    關注

    0

    文章

    67

    瀏覽量

    10099

原文標題:基于flink的數字集成方案

文章出處:【微信號:CloudBrain-TT,微信公眾號:云腦智庫】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于網關的PLC數據采集與MES系統集成方案

    通過御控工業網關實現PLC數據采集到MES系統是一種可行、高效的解決方案。該方案能夠解決不同品牌和型號PLC與MES系統之間的數據集成問題,實現生產現場數據的實時采集、傳輸和分析,為制
    的頭像 發表于 05-20 16:35 ?133次閱讀

    OBC+DCDC+PDU集成方案技術解析+芯片方案及型號

    OBC+DCDC+PDU集成方案技術解析 、技術架構與核心功能 =? 系統組成 ?= =? OBC(車載充電機) ?= :負責將交流電(AC)轉換為直流電(DC),支持單相/三相輸入,功率范圍覆蓋
    的頭像 發表于 03-06 09:53 ?2547次閱讀

    數字集成電路 Verilog 熟悉vivado FPGA微電子、電子工程

    1、計算機、微電子、電子工程等相關專業碩士; 2、熟悉數字集成電路基本原理、設計技巧、設計流程及相關EDA工具; 3、精通Verilog語言,熟悉AMBA協議; 4、有FPGA開發或SOC設計經驗優先; 5、具有較強的獨立工作能力、良好的團隊合作精神。
    發表于 02-11 18:03

    一種使用LDO簡單電源電路解決方案

    本期我們介紹一種使用LDO簡單電源電路解決方案,該方案可以處理12V/24V、多節鋰離子電池和4節干電池等相對較高的輸入電壓。
    的頭像 發表于 12-04 16:05 ?743次閱讀
    <b class='flag-5'>一種</b>使用LDO簡單電源電路解決<b class='flag-5'>方案</b>

    PWM信號生成方法 PWM調制原理講解

    PWM(脈沖寬度調制,Pulse Width Modulation)是一種重要的模擬信號電平數字編碼方法,在電子技術和控制領域具有廣泛應用。以下是對PWM信號生成方法和PWM調制原理的介紹: PWM
    的頭像 發表于 11-28 16:34 ?4400次閱讀

    基于圖遍歷的Flink任務畫布模式下零代碼開發實現方案

    的過程。以下是利用Flink的 StreamGraph 通過低代碼的方式,來實現StreamGraph的生成,并最終實現 Flink 程序零代碼開發的解決方案
    的頭像 發表于 11-05 10:35 ?1053次閱讀
    基于圖遍歷的<b class='flag-5'>Flink</b>任務畫布模式下零代碼開發實現<b class='flag-5'>方案</b>

    一種新型電流模式控制集成電路

    電子發燒友網站提供《一種新型電流模式控制集成電路.pdf》資料免費下載
    發表于 10-24 10:20 ?0次下載
    <b class='flag-5'>一種</b>新型電流模式控制<b class='flag-5'>集成</b>電路

    萬界星空科技MES數據的集成方

    MES系統與其他系統常見的集成方式。根據實際需求和系統環境,選擇適合的集成方式可以實現不同系統之間的協同工作,提高生產效率和管理水平。具體的集成方式可能因企業和行業的不同而有所差異。
    的頭像 發表于 10-09 15:30 ?352次閱讀
    萬界星空科技MES數據的<b class='flag-5'>集成方</b>式

    常用的devops工具集成方

    常用的devops工具集成方法涵蓋了軟件開發和運維的各個方面,從版本控制到自動化構建、測試、部署和監控。這些工具的有效集成可以幫助團隊提高協作效率,減少溝通障礙,實現快速、高質量的軟件交付。
    的頭像 發表于 10-09 11:21 ?478次閱讀

    TDA4泊車應用中的超聲波雷達集成方案

    電子發燒友網站提供《TDA4泊車應用中的超聲波雷達集成方案.pdf》資料免費下載
    發表于 09-27 11:26 ?1次下載
    TDA4泊車應用中的超聲波雷達<b class='flag-5'>集成方案</b>

    音響集成電路是數字集成電路嗎

    音響集成電路(Audio Integrated Circuit,簡稱IC)是一種用于處理音頻信號的集成電路。它們可以是數字的,也可以是模擬的,具體取決于它們的設計和功能。
    的頭像 發表于 09-24 15:57 ?723次閱讀

    soc是數字芯片還是模擬芯片

    SoC(System on Chip,系統級芯片)是 數字芯片 的一種。SoC芯片是數字集成電路的一種,它通過將個或多個
    的頭像 發表于 09-23 10:16 ?2009次閱讀

    拓維信息與長沙數字集團達成合作

    7月26日上午,長沙數字集團正式揭牌,“數字長沙”建設布局邁出重要步,標志著長沙數據要素市場化配置改革取得關鍵進展,為長沙打造數據要素大循環中部樞紐、新型智慧城市示范城市注入新動能。長沙市
    的頭像 發表于 07-31 08:14 ?773次閱讀
    拓維信息與長沙<b class='flag-5'>數字集</b>團達成合作

    什么是 Flink SQL 解決不了的問題?

    覆蓋不了的問題,但 SQL 的易用性又難以讓人釋懷。所以有些場景在使用 FLink SQL 開始就與需要額外注意,下面就介紹一種多表關聯時存在部分列更新(partial Update)場景,在
    的頭像 發表于 07-09 20:50 ?542次閱讀

    集成方案靈活搭建遠控方案,向日葵API集成方案解析

    部署模式、SDK嵌入模式,以及今天我們要介紹的API集成模式。 ? 向日葵企業開發API,低門檻輕松構建遠程服務 API指“應用程序編程接口”(Application Programming Interface),是軟件系統提供給其他開發者的系列功能列表和使用規則。通過
    的頭像 發表于 06-26 15:41 ?664次閱讀
    兩<b class='flag-5'>種</b><b class='flag-5'>集成方案</b>靈活搭建遠控<b class='flag-5'>方案</b>,向日葵API<b class='flag-5'>集成方案</b>解析
    主站蜘蛛池模板: 高h道具触手play肉男男 | 日本三级视频在线播放 | 男男gay污小黄文 | 午夜看毛片 | 久久国产精品免费专区 | 六月婷婷精品视频在线观看 | 亚洲视频一区在线观看 | 久久天天躁狠狠躁夜夜躁 | 国产一区在线播放 | 成人久久网 | 亚洲va久久久噜噜噜久久男同 | 波多野结衣的毛片 | 奇米色吧| 亚洲第一伊人 | 国内黄色录像 | 久久国产美女免费观看精品 | 免费黄视频网站 | 新版天堂中文资源8在线 | 综合色综合 | 免费在线播放视频 | 国产成人亚洲综合a∨婷婷 国产成人一区二区三中文 国产成人一区二区在线不卡 | 你懂的在线视频观看 | 色综合天天综久久久噜噜噜久久〔 | 欧美成人高清性色生活 | 狠狠色噜噜狠狠狠狠黑人 | 午夜高清在线 | 狠狠狠狼鲁欧美综合网免费 | 色婷婷一区二区三区四区成人 | 西西人体44renti大胆亚洲 | 激情福利 | 精品理论片 | 天天爽夜夜爽 | 天天草夜夜 | 日日噜噜噜夜夜爽爽狠狠 | 丁香六月激情综合 | 久久亚洲国产成人精品性色 | 美女扒开尿口让男生添 漫画 | 欧美日韩国产一区 | 人人爽天天爽夜夜爽qc | 天天做天天爱天天爽综合区 | 18黄网站|