999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種電力量測類數據遷移到HBase的方法

2018-07-16 12:04:44蘇鵬濤
電子技術與軟件工程 2018年10期
關鍵詞:數據庫設備方法

文/蘇鵬濤

1 引言

隨著電力信息化的建設推進,電力企業數據中心積累了大量的數據資源,數據準確性越來越高,量測類數據其所占比重也越來越大,已具備良好的數據基礎。通過各種基于大數據平臺的數據挖掘工具或查詢引擎,可以實現快速查詢、負荷預測、異常分析等高級應用,提高企業運營水平、發掘數據潛在價值。由于生產系統大都為傳統關系型數據庫,這就需要將海量的量測數據從傳統關系型數據庫遷移到大數據平臺,雖然Sqoop等工具支持將關系型數據庫導入HBase中,但其需要與其它調度工具如Oozie配合使用才可實現定時任務,并且沒有自動補傳功能。本方法基于HBaseJava API 實現了一種支持自動補傳的傳統關系型數據庫遷移到HBase的方法。

該方法通過JDBC訪問數據源,通過HBaseJava API操作HBase數據庫寫入數據,可以實現電力量測類數據從傳統關系型數據庫向大數據平臺HBase數據庫的自動遷移,支持增量延時同步功能,能夠做到遷移失敗數據的自動補傳,具有穩定內存消耗、降低集群資源需求、靈活控制遷移方式、快速增加遷移任務、缺失數據自動補傳、異常提醒和任務定時啟動等優點。

2 一種電力量測類數據遷移到HBase的方法

2.1 HBase表結構

HBase是建立在Hadoop文件系統上的分布式列式數據庫,它是一種NoSQL數據庫,主要適用于海量明細數據(十億、百億級)的隨機實時查詢,如日志明細、交易清單、軌跡行為等,非常適合于電力量測類海量數據的快速查詢、綜合分析等應用。

電力量測類數據是一種具有明顯時序特性的數據,主要由采集日期、采集點(從0點整開始,根據采集設備不同,每隔2、5或15分鐘一個)、設備號、量測類型、采集值(量測值)構成,其中設備號可關聯到設備信息。量測快速查詢主要有兩種類型的需求,一是查詢某一設備一段時間的曲線(如查詢XX變壓器連續一個月的負荷典線,了解哪些時段負荷高等),二是查詢某一時間各設備的數值(如查詢XX區所有變壓器負荷,哪些設備超載等)。為滿足這兩種快速查詢需求,設計HBase表結構如圖1所示,以公司簡碼、時間、主設備號、量測類型合并作為Rowkey,以設備號作為列名,示數值作為值,公司簡碼作為分區。

圖1:HBase表結構

圖2:量測類數據寬表

圖3:功能結構圖

2.2 遷移方法功能模塊

Sqoop是一款開源的工具,主要用于在Hadoop與傳統的數據庫間進行數據的相互遷移。它以Shell命令的方式進行調用,可以將命令中的查詢語句的結果導入到HBase中。

量測類數據多表關聯后的數據寬表如圖2所示。每個設備每天一條數據,96個列記錄96個測點值,與圖1HBase表結構相比有兩個結構上的差異。一是需要將一行數據中的n個時間點轉換為n行;二是需要將每個主設備號下的n行的每個設備號轉換為一行的n個列,并且以設備號作為列名。這就同時涉及到行轉列和列轉行,由于Sqoop依賴于SQL語句查詢結果,要通過一個SQL語句實現此結構轉換非常困難,語句極其復雜。本遷移方法使用Java語言開發,通過SQL查詢出寬表數據,再對每一條寬表數據按照配置的規則拆分組裝,這樣兩個循環結構即可實現此結構轉換。其功能結構如圖3所示。

本方法能根據主機硬件信息、HBase集群信息設定最佳的寫入方式,由查詢模塊、配置模塊、日志模塊、轉換模塊、寫入模塊、管理模塊六個功能模塊組成。

查詢模塊通過JDBC從關系型數據庫查詢數據;

配置模塊用于配置連接、表、查詢條件、結果輸出格式、寫入方式等;

日志模塊記錄每張表每次遷移的狀態;

轉換模塊按照對應HBase結構將查詢模塊查到的結果數據轉換為寫入模塊需要的格式;

寫入模塊按照配置模塊寫入參數通過API將數據寫入HBase中;

管理模塊定時啟動遷移任務并根據日志模塊記錄的日志信息補傳未成功遷移的數據。

所有模塊均由Java語言開發,數據存儲于MySQL數據庫,使用JDBC方式分批訪問量測數據,使用JavaHBase API訪問HBase。

2.3 遷移流程

遷移流程如圖4所示。

開始:每日由管理模塊定時啟動遷移任務。

步驟1:管理模塊檢索日志模塊記錄的遷移日志,判斷歷史遷移日期中是否存在異常狀態記錄或有日志缺失。若有執行步驟2,若無執行步驟3。

步驟2:管理模塊生成缺失、異常日志信息列表。執行步驟4。

步驟3:查詢模塊讀取配置模塊參數,按參數分批查詢需遷移的數據表前一日數據。執行步驟5。

步驟4:查詢模塊讀取配置模塊參數,按參數分批查詢需遷移的數據表對應的生成缺失、異常日志信息列表中的最早日期數據,并從列表中刪除此條記錄。執行步驟5。

步驟5:轉換模塊按配置模塊參數將步驟3或步驟4查詢結果轉換為HBase需要的結構。執行步驟6。

步驟6:寫入模塊通過API,按照配置模塊參數多線程并行寫入HBase。執行步驟7。

步驟7:日志模塊記錄或更新日志。執行步驟8。

步驟8:管理模塊判斷日志記錄中是否已有前一日日志,若有執行步驟11,若無執行步驟9。

步驟9:查詢模塊檢查生成缺失、異常日志信息列表,若已無信息執行步驟10,若有信息執行步驟4。

步驟10:查詢模塊讀取配置模塊參數按參數分批查詢需遷移的數據表前一日數據。執行步驟5。

步驟11:管理模塊結束當次遷移任務,并檢查日志記錄中是否存在異常次數大于等于2的日志記錄。若有發出警告日志,提醒人工檢查。

整個遷移過程中,若日志模塊、管理模塊發生異常,會造成日志缺失;其它模塊發生異常會記錄異常日志到日志模塊中。后一日遷移任務均可根據日志記錄自動補傳。當發生補傳無效情況時,管理模塊生成告警日志,提醒人工干預檢測處理,以此機制確保遷移的自動化和可靠性。

2.4 遷移效果

測試環境為CDH大數據平臺,其HBase集群由7臺配置相同的服務器構成,每臺服務器均安裝了一個獨立的Sqoop組件。由于量測數據量較大,Sqoop使用的轉換SQL較復雜,采用一個Sqoop命令遷移全部數據時較容易發生卡死,因此將其拆分為多個命令。7臺服務器,每臺啟動一個Sqoop遷移,每個Sqoop特意改造為遷移不同HBase分區的數據,以確保數據均衡,達到最大效率。Sqoop偽代碼如下:

其中--query "......"部分需要將整個邏輯寫為一個可執行的SQL語句。

遷移方法配置為分批查詢,每批次查詢固定量的數據,在內存中轉換寫入后再抽取下一批數據,以確保使用較低的內存達到較高的效率。管理模塊根據HBase集群數,每臺HBase主機單獨啟動一個遷移進程,每個進程遷移不同分區數據,確保所有HBase節點均合理利用起來。

通過測試,轉換寫入1億行原始數據,寫入HBase后數據大小約900G。若用Sqoop用時4小時38分,平均速率約每秒56M,單個進程每秒8M。使用本遷移方法用時5小時01分,平均速率約每秒51M,單個進程每秒7.3M。服務器資源消耗兩者相當,遷移方法由于有日志等其它開銷,效率稍低于Sqoop。

雖然數據遷移效率略低于Sqoop,但若需補傳少量數據時,Sqoop會將全部數據重傳,所有已傳數據變為歷史版本,極大增加了系統存儲負擔。若Sqoop要達到本方法的補傳效果,需要人為查詢HBase中表數據情況,再更改Sqoop中的SQL語句,當HBase表中數據量極大時,很難查到失敗數據的斷面信息,操作可行性極低。

本方法在數據遷移過程中,通過直接Kill進程方式強制結束數據遷移。遷移方法進程在被Kill之前已完成遷移的數據其日期已被記錄于日志中,Kill后進程停止,其后日志缺失。重啟遷移任務,管理模塊根據日志自動將缺失日志的日期的數據補傳,僅補傳Kill執行后的缺失數據,覆蓋前次數據使其成為歷史版本。

3 結論

圖4:遷移流程圖

本文研究了一種電力量測類數據遷移到HBase的方法,包含查詢模塊、配置模塊、日志模塊、轉換模塊、寫入模塊、管理模塊等六個功能模塊,通過配置查詢語句、轉換數據結構和設定系統參數,基于JDBC訪問電力量測類數據傳統關系型數據庫、HBase Java API操作HBase數據庫,實現寫入遷移數據、記錄遷移日志、定時啟動任務和自動補傳數據功能。本方法可以實現電力量測類數據從傳統關系型數據庫到HBase數據庫的自動遷移,支持增量延時同步功能,能夠做到遷移失敗數據的自動補傳,能夠以較高效率將電力量測類數據導入HBase,并解決了缺失數據自動補傳的問題,降低了電力量測類數據遷移到HBase的執行難度,提高了數據遷移的靈活性、便利性和穩定性。

猜你喜歡
數據庫設備方法
諧響應分析在設備減振中的應用
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 国产成人资源| 22sihu国产精品视频影视资讯| 亚洲不卡网| 亚洲色图欧美视频| 小说区 亚洲 自拍 另类| 国产精品视频第一专区| 一级毛片基地| 免费无码一区二区| 国产波多野结衣中文在线播放| 亚洲人成在线精品| 美美女高清毛片视频免费观看| 国产h视频在线观看视频| 国产亚洲欧美在线人成aaaa| 国产精品九九视频| 国产成人高清在线精品| 亚洲第七页| 波多野结衣无码中文字幕在线观看一区二区 | 成人精品亚洲| 看国产一级毛片| 中文字幕亚洲精品2页| 日韩福利在线视频| 午夜成人在线视频| 日韩美毛片| 不卡色老大久久综合网| 欧美日韩激情| …亚洲 欧洲 另类 春色| 免费看一级毛片波多结衣| 国产一区二区三区在线无码| 91精品国产福利| 激情视频综合网| 欧美自慰一级看片免费| 91色综合综合热五月激情| 伊人AV天堂| 日本精品一在线观看视频| 久久久久88色偷偷| 国产麻豆永久视频| 欧美精品亚洲日韩a| 亚洲欧美自拍视频| 欧美一级高清免费a| 亚洲va在线观看| 精品久久香蕉国产线看观看gif| 欧美全免费aaaaaa特黄在线| 欧美激情视频二区| 亚洲最新在线| 日韩国产欧美精品在线| 久久久久亚洲av成人网人人软件| 免费中文字幕一级毛片| 久久99精品久久久大学生| 欧美在线一二区| 久久窝窝国产精品午夜看片| 亚洲国产亚洲综合在线尤物| 久久国产亚洲欧美日韩精品| 国产主播福利在线观看| 国产中文在线亚洲精品官网| 亚洲欧美在线看片AI| 久久国产精品波多野结衣| 丁香亚洲综合五月天婷婷| 试看120秒男女啪啪免费| 中文字幕亚洲综久久2021| 亚洲IV视频免费在线光看| 久草热视频在线| 欧美在线黄| 婷婷色中文| 亚洲欧洲天堂色AV| 亚洲精品卡2卡3卡4卡5卡区| 国产aaaaa一级毛片| 久久影院一区二区h| 亚洲视频无码| 日韩欧美高清视频| 亚洲午夜福利精品无码| 精品久久人人爽人人玩人人妻| 麻豆精品在线播放| 国产 日韩 欧美 第二页| 自慰网址在线观看| 国产网站一区二区三区| 亚洲欧美另类视频| 久久国产香蕉| 国产在线精彩视频论坛| 亚洲av无码久久无遮挡| 久久精品中文字幕少妇| 91精品专区国产盗摄| 国产一级裸网站|