91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

求一種基于flink的數(shù)字集成方案

QuTG_CloudBrain ? 來源:移動Labs ? 2023-03-17 14:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Labs 導讀

數(shù)據(jù)集成平臺作為連接各種異構(gòu)數(shù)據(jù)的紐帶,需要連接多種多樣的存儲系統(tǒng)。而不同的技術(shù)棧和不同的業(yè)務場景會對數(shù)據(jù)集成系統(tǒng)提出不同的設計要求。

1

概述

在實際私有化物聯(lián)網(wǎng)平臺項目中,部分存量設備由于異構(gòu)總線、多制式以太網(wǎng)、協(xié)議多樣化等因素導致無法直接連接物聯(lián)網(wǎng)平臺,大量數(shù)據(jù)較難集成,平臺側(cè)和設備側(cè)面臨大量定制化開發(fā),成本較高。因此難以推動客戶或設備廠商進行存量設備接入改造,導致設備無法直連物聯(lián)網(wǎng)平臺,無法達到物聯(lián)網(wǎng)平臺對企業(yè)所有設備數(shù)據(jù)進行統(tǒng)一納管。

企業(yè)內(nèi)部存量的數(shù)據(jù)采集系統(tǒng)多為“煙囪式”,各個廠商的系統(tǒng)只需對接自己廠商的設備即可,數(shù)據(jù)孤島問題突出。

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

除了設備數(shù)據(jù)采集外,還有業(yè)務數(shù)據(jù)采集需求,傳統(tǒng)物聯(lián)網(wǎng)系統(tǒng)只能采集設備數(shù)據(jù)而無法集成業(yè)務數(shù)據(jù)。

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

2

技術(shù)選型

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

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

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

2.1 Source算子

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

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

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

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

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

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

自定義的source(Custom-source)

使用自定義Source算子可實現(xiàn)豐富的數(shù)據(jù)抽取功能。

2.2 Transform轉(zhuǎn)換算子

① map

將DataStream中的每一個元素轉(zhuǎn)換為另外一個元素,如將元素x變?yōu)樵瓉淼?倍:

dataStream.map { x => x * 5 }

② FlatMap

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

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

③ Filter

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

dataStream.filter { x != 0 }

當然flink還具備很多其他功能的轉(zhuǎn)換算子,如KeyBy、Reduce、Aggregations等,通過豐富的轉(zhuǎn)換算子,flink可實現(xiàn)對數(shù)據(jù)的清洗和轉(zhuǎn)換功能。

2.3 Sink算子

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

通過自定義sink算子將清洗轉(zhuǎn)換完成的數(shù)據(jù)輸入目標系統(tǒng)。

3

數(shù)字集成實現(xiàn)

實現(xiàn)過程如下:

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

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

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

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

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

數(shù)據(jù)源控件:將Source算子抽象定義成具備抽取數(shù)據(jù)功能的數(shù)據(jù)源控件類,并制定相應的配置規(guī)范,使用時只需根據(jù)規(guī)范配置文件,系統(tǒng)根據(jù)配置文件創(chuàng)建具體的實例化對象,實現(xiàn)數(shù)據(jù)抽取功能;

數(shù)據(jù)操作控件:根據(jù)不同的基礎功能需求將Transform算子抽象成數(shù)據(jù)處理控件類,制定相應的配置規(guī)范,使用時只需根據(jù)規(guī)范配置文件,系統(tǒng)根據(jù)配置創(chuàng)建相應的實例化對象實現(xiàn)數(shù)據(jù)處理功能;

數(shù)據(jù)輸出控件:將Sink算子抽象成數(shù)據(jù)輸出控件類,制定相應的配置規(guī)范,使用時只需根據(jù)規(guī)范配置文件,系統(tǒng)根據(jù)配置創(chuàng)建實例化對象實現(xiàn)數(shù)據(jù)輸出功能。

同時系統(tǒng)內(nèi)部明確定義flink算子之間流轉(zhuǎn)的數(shù)據(jù)格式作為內(nèi)部流轉(zhuǎn)數(shù)據(jù)格式以及根據(jù)配置輸出每個基礎功能控件輸出的數(shù)據(jù)格式。

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

基礎功能控件規(guī)范如下:

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

通過以上兩步規(guī)范定義后,在同一個系統(tǒng)中,同一個處理過程只需要定義一個基礎功能控件規(guī)范。如Kafka消費者所需的配置如Kafka集群地址、消費群組、數(shù)據(jù)所在topic、數(shù)據(jù)所在分區(qū)key,消費位置等,只需要規(guī)定上述舉例這樣一個Kafka消費控件并開發(fā)實現(xiàn),該控件就可以在該系統(tǒng)中復用,每次配置的數(shù)據(jù)處理工作流,復用Kafka消費控件類并根據(jù)新配置的源系統(tǒng)提供的Kafka集群地址、數(shù)據(jù)所在topic等配置即可實例化該工作流所需的kafka 消費者,實現(xiàn)過程從開發(fā)無數(shù)次Kafka Consumer的代碼變?yōu)閷崿F(xiàn)一次Kafka Consumer控件代碼,大量節(jié)省開發(fā)時間和開發(fā)成本。

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

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

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

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

第四步,根據(jù)組建好的執(zhí)行邏輯生成有向無環(huán)圖,提交Flink運行,具體如下:

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

4

總結(jié)

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





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:基于flink的數(shù)字集成方案

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    S32K376 BMU與VCU集成方案:硬件、軟件與調(diào)試全解析

    S32K376 BMU與VCU集成方案:硬件、軟件與調(diào)試全解析 在電子工程師的日常工作中,動力總成域控制器的設計是項充滿挑戰(zhàn)與機遇的任務。今天,我們將深入探討基于NXP S32K376 MCU
    的頭像 發(fā)表于 12-24 14:25 ?448次閱讀

    激光打標機在電機生產(chǎn)中的自動化應用與生產(chǎn)線集成方案

    激光打標機在電機生產(chǎn)中的自動化應用與生產(chǎn)線集成方案、應用背景與核心需求電機作為工業(yè)核心部件,其生產(chǎn)過程需滿足高精度標識追溯與高速自動化生產(chǎn)雙重需求。傳統(tǒng)機械刻劃、油墨噴碼等方式存在效率低、標識易
    的頭像 發(fā)表于 12-19 21:44 ?320次閱讀
    激光打標機在電機生產(chǎn)中的自動化應用與生產(chǎn)線<b class='flag-5'>集成方案</b>

    機場800兆數(shù)字集群信號覆蓋

    機場800兆數(shù)字集群信號覆蓋
    的頭像 發(fā)表于 12-11 13:13 ?2175次閱讀
    機場800兆<b class='flag-5'>數(shù)字集</b>群信號覆蓋

    沐渥氮氣柜升級改造:氮氣柜電控系統(tǒng)集成方案

    氮氣柜電控系統(tǒng)集成方案將氮氣柜的電氣控制系統(tǒng),傳感器、控制器、電源、執(zhí)行機構(gòu)等整合至單電控盒內(nèi),實現(xiàn)模塊化、高可靠性、易維護性的升級改造。主控單元負責邏輯運算、參數(shù)設定、故障診斷及系統(tǒng)協(xié)調(diào),嵌入式
    的頭像 發(fā)表于 09-16 15:44 ?705次閱讀
    沐渥氮氣柜升級改造:氮氣柜電控系統(tǒng)<b class='flag-5'>集成方案</b>

    海上風電高壓直流集成經(jīng)濟型方案與性能比較

    的關鍵。本文介紹三海上高壓直流輸電方案,包括兩完全基于模塊化多電平變流器(MMC)的柔性直流輸電方案,以及一種基于二極管整流的海上風電
    的頭像 發(fā)表于 09-09 17:19 ?1435次閱讀
    海上風電高壓直流<b class='flag-5'>集成</b>經(jīng)濟型<b class='flag-5'>方案</b>與性能比較

    復合機器人3C行業(yè)集成方案:智能制造的創(chuàng)新引擎

    在3C行業(yè)競爭日益激烈的今天,企業(yè)對生產(chǎn)效率、柔性制造和智能化水平提出了更高要求。富唯智能推出的復合機器人3C行業(yè)集成方案,正是針對這需求而設計的先進解決方案。該方案集協(xié)作機器人、移
    的頭像 發(fā)表于 09-04 17:44 ?959次閱讀
    復合機器人3C行業(yè)<b class='flag-5'>集成方案</b>:智能制造的創(chuàng)新引擎

    如何使用單片機直接輸出4-20mA?GP210高集成方案。

    如何使用單片機直接輸出4-20mA?GP210高集成方案
    的頭像 發(fā)表于 08-15 17:30 ?1271次閱讀
    如何使用單片機直接輸出4-20mA?GP210高<b class='flag-5'>集成方案</b>。

    攝像機云臺與消費電機的理想驅(qū)動:MS3142集成方案解析

    在科技飛速發(fā)展的今天,攝像機云臺和消費電機在我們的生活中扮演著越來越重要的角色。從專業(yè)的影視拍攝到日常生活中的智能設備,它們的應用場景日益廣泛。而個優(yōu)秀的驅(qū)動方案對于這些設備的性能表現(xiàn)至關重要。今天,我們就來深入解析下MS3
    的頭像 發(fā)表于 08-14 17:44 ?746次閱讀
    攝像機云臺與消費電機的理想驅(qū)動:MS3142<b class='flag-5'>集成方案</b>解析

    吸塵器高效無刷電機驅(qū)動PCBA集成方案與功率拓撲優(yōu)化

    深入探討吸塵器高效無刷電機驅(qū)動PCBA(Printed Circuit Board Assembly)的集成方案與功率拓撲優(yōu)化技術(shù),為行業(yè)提供可落地的技術(shù)參考。
    的頭像 發(fā)表于 08-01 16:52 ?1776次閱讀

    隧道工程LoRa無線監(jiān)測設備集成方案 直擊隧道深部監(jiān)測痛點

    隧道工程LoRa無線監(jiān)測設備集成方案 直擊隧道深部監(jiān)測痛點 河北穩(wěn)控科技專業(yè)從事巖土工程信息化監(jiān)測設備(監(jiān)測儀器、儀表及監(jiān)測系統(tǒng))。基于隧道監(jiān)測實際情況,結(jié)合工程環(huán)境情況,特推出站式現(xiàn)場監(jiān)測方案
    的頭像 發(fā)表于 07-28 16:29 ?551次閱讀

    一種基于擴散模型的視頻生成框架RoboTransfer

    在機器人操作領域,模仿學習是推動具身智能發(fā)展的關鍵路徑,但高度依賴大規(guī)模、高質(zhì)量的真實演示數(shù)據(jù),面臨高昂采集成本與效率瓶頸。仿真器雖提供了低成本數(shù)據(jù)生成方案,但顯著的“模擬到現(xiàn)實”(Sim2Real)鴻溝,制約了仿真數(shù)據(jù)訓練策略的泛化能力與落地應用。
    的頭像 發(fā)表于 07-09 14:02 ?843次閱讀
    <b class='flag-5'>一種</b>基于擴散模型的視頻生成框架RoboTransfer

    華大九天Empyrean Liberal工具助力數(shù)字集成電路設計

    數(shù)字集成電路設計中,單元庫和IP庫宛如塊塊精心打磨的“積木”,是數(shù)字IC設計的重要基礎。從標準單元庫(Standard Cell)、輸入輸出接口(I/O Interface)、存儲器單元(如
    的頭像 發(fā)表于 07-09 10:14 ?2805次閱讀
    華大九天Empyrean Liberal工具助力<b class='flag-5'>數(shù)字集成</b>電路設計

    新思科技攜手深圳大學助力數(shù)字集成電路人才培養(yǎng)

    此前,2025年5月24日至27日, 新思科技受邀參與深圳大學電子與信息工程學院、IEEE電路與系統(tǒng)深圳分會聯(lián)合舉辦的“數(shù)字集成電路中后端設計流程與EDA工具實戰(zhàn)培訓”。本次培訓面向40余名集成
    的頭像 發(fā)表于 06-14 10:44 ?1419次閱讀

    基于網(wǎng)關的PLC數(shù)據(jù)采集與MES系統(tǒng)集成方案

    通過御控工業(yè)網(wǎng)關實現(xiàn)PLC數(shù)據(jù)采集到MES系統(tǒng)是一種可行、高效的解決方案。該方案能夠解決不同品牌和型號PLC與MES系統(tǒng)之間的數(shù)據(jù)集成問題,實現(xiàn)生產(chǎn)現(xiàn)場數(shù)據(jù)的實時采集、傳輸和分析,為制
    的頭像 發(fā)表于 05-20 16:35 ?868次閱讀

    一種分段氣隙的CLLC變換器平面變壓器設計

    一種路徑,采用磁集成方法,對1MHz雙向CLLC變換器的變壓器進行研究、設計與測試,通過優(yōu)化PCB繞線方法、進行仿真優(yōu)化,提出了一種分段氣隙的變壓器結(jié)構(gòu),通過Maxwell瞬態(tài)場、渦流場求解器仿真
    發(fā)表于 03-27 13:57