如何保證Hadoop資料湖不變成「資料洪水」

2021-09-23 06:37:50 字數 1676 閱讀 5757

1、資料湖:一不留神變資料洪

資料湖的提出距今已經有了幾年時間了,特別是在當今時代中,基於hadoop建立的資料湖在大資料處理中占有的位置越來越重要。但是如何保證資料湖不像南方水災一樣氾濫,依然是乙個耐人尋味的話題。

資料湖已滿,如何防氾濫

資料湖洪水氾濫

資料湖中資料型別繁雜

在這些資料中,非結構化和半結構化資料佔據了很大一部分,但是由於我們的處理能力不同,一些資料可能在資料湖中儲存了很長時間而不能被處理掉,這樣就會一直積攢下來保留的現在。

誠然,資料湖可以幫助處理各種形式的資料,這其中以結構化資料為主。而且資料湖具備資料庫的大部分特質,可以提供資料查詢、結構化資料處理報告等業務。資料湖的最大價值在於資料利用、探索大資料的價值,**未來結果並為企業提出相關建議,進而指導企業的進一步決策和行動。

「資料洪」一觸即發

但是,問題也就發生在這裡。因為基於hadoop部署的資料湖的能力並不足以應付一切,而使用者對資料湖又疏於管理。資料量隨時間而增加,資料湖開始氾濫,進而有逐步發展成洪水的趨勢。資料不能得到有效的分配,「資料洪」隨時可能沖潰堤壩,水漫金山。

2、資料湖管理需更好的工具

抗洪還得靠管理

那麼資料湖要如何才能避免成為資料洪的悲劇呢?首先應該從根本上改變傳統對資料湖的看法。把資料湖當作乙個整體庫存來管理是存在問題的,對於管理人員來講,基於資料型別需要把資料湖分成乙個個的區,分別處理管理。

基於hadoop的資料湖需要分類

基於hadoop的資料湖的區域劃分歸類對其而言十分重要。管理者需要對其需要提取的資料進行原始資料的保留,並且對其進行元資料標記,標明資料來源、資料型別等。當被提取的資料處理完畢之後要對其統一規劃並進行後續處理。

如果使用者需要選擇一些特定應用程式的資料,那麼可以通過收集、轉換,將來自不同資料來源的資料全部帶走並進行處理。最後,在處理工作完成後可以通過資料軌跡、處理日誌等工具對處理過程進行審核,保障資料處理的完成度。

資料分類管理

這些問題說起來簡單,但是做起來卻是一件相當麻煩的事情。這要求企業擁有一套十分成熟的資料提取工具,用於資料轉化、分類、標記以及其他任務。

而且不僅僅是企業關注這一問題,在apache的hadoop社群也有好多團隊在致力於開發此類工具。事實上,此類工具更趨向於資料管理專業,這些對於企業來講並不熟悉。而好訊息是,一些相關的生態鏈已經在hadoop領域開始形成,相信解決資料湖管理難題的工具將在不久後出現。

Mysql如何保證資料不會丟失

簡單來說就是依靠redo log和binlog保證持久化到磁碟後就可以保證,異常重啟資料可以正常恢復 這裡主要說下這兩個log的寫入機制。乙個事務執行的過程中,會先把日誌寫入到binlog cache中,事務提交的時候再把binlog cache中的日誌寫到binlog中。系統給binlog cac...

Kafka如何保證資料不丟失

kafka的ack機制 在kafka傳送資料的時候,每次傳送訊息都會有乙個確認反饋機制,確保訊息正常的能夠被收到,其中狀態有0,1,1。producer.type sync request.required.acks 1 producer.type async request.required.ac...

如何保證資料掉電不損壞?

1.建議使用ext3 ext4等日誌式檔案系統,並開啟journal。2.檔案系統無法保證write是原子的,所以,建議直接使用一些優秀的資料庫儲存資料或者配置,比如sqlite。sqlite可以考慮開啟synchronous full,fullfsync 1。如果還是出現檔案損壞的情況,考慮是硬體...