處理海量數(shù)據(jù)是大數(shù)據(jù)工程師必備技能,通過對PB級別的數(shù)據(jù)進行挖掘與分析發(fā)掘出有價值的信息,為企業(yè)或政府做出正確決策提供依據(jù),是十分必要的一項工作,以下是常用的海量數(shù)據(jù)處理方法!
1. Bloom filter
Bloom filter是一種二進制向量數(shù)據(jù)結(jié)構(gòu),具有很好的空間效率和時間效率,可用來檢測一個元素是否屬于一個集合。該方法的優(yōu)點是它的插入和查詢時間都是常數(shù),并且它查詢元素卻不保存元素本身,因此,具有良好的安全性,但因其算法的原因,其正確率稍低,可以確定不存在數(shù)據(jù)一定不存在,確定存在的數(shù)據(jù)不一定存在,適合對低錯誤率可以容忍的場合。
2. Hash
Hash即散列函數(shù),其是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數(shù),根據(jù)處理需求的不同,有不同的Hash函數(shù),針對字符串、整數(shù)、排列也具有相應的Hash方法,常用的Hash構(gòu)造方法有直接尋址法、數(shù)字分析法、平方取中法、折疊法、隨機數(shù)法以及除留余數(shù)法等。
3. BitMap
BitMap是使用數(shù)組來表示某些數(shù)據(jù)是否存在的方法,可對數(shù)據(jù)進行快速查找、判斷和刪除操作,一般來說數(shù)據(jù)范圍是int的10倍以下,Bloom可以看做是對BitMap的擴展。
4. 堆
堆是計算機科學中的一種特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱,統(tǒng)稱是一個可以被看做一顆樹的數(shù)組對象,其原理是先從待找的n個數(shù)字中找出前k個建成小頂堆,然后依次讀后面的元素并與小頂堆的堆頂進行比較,如果當前元素小或相等,則繼續(xù)讀后面的元素;如果當前的元素大,則用當前元素替換堆頂元素,然后調(diào)整小頂堆。大堆求前k小,最小堆求前k大,雙堆,求中位數(shù)。
5. 雙層桶
雙層桶不是一種數(shù)據(jù)結(jié)構(gòu),而是一種算法思想,類似于分治思想。因為元素范圍很大,不能利用直接尋址表,所以通過多次劃分,逐步確定范圍,然后最后在一個可以接受的范圍內(nèi)進行。雙層桶法一般適用于尋找第k個大的數(shù),尋找中位數(shù)、尋找不重復或重復的數(shù)字。
6. 數(shù)據(jù)庫優(yōu)化法
海量數(shù)據(jù)都被存儲在數(shù)據(jù)庫中,如何從數(shù)據(jù)庫中提取有用信息就需要用到數(shù)據(jù)庫優(yōu)化法,常見的數(shù)據(jù)庫優(yōu)化方法有數(shù)據(jù)分區(qū)、索引、緩存機制、分批處理、優(yōu)化查詢語句、使用采樣數(shù)據(jù)進行數(shù)據(jù)挖掘等。
7. 倒排索引
倒排索引是目前搜索引擎公司對搜索引擎最常用的存儲方式,被用來存儲在全文搜索下某個單詞在一個文檔或者一組文檔中的存儲位置的映射。在處理復雜的多關(guān)鍵字時,可在倒排表中完成查詢的并、交等邏輯運算,得到結(jié)果后再對結(jié)果進行存取,這樣把記錄的查詢轉(zhuǎn)換為地址集合的運算,不必對每個記錄隨機存取,從而提高查找速度。
8. 外排序
外排序是對大文件的排序,由于內(nèi)存限制,不能一下子把所有的待排內(nèi)容都讀到內(nèi)存中進行排序,需要在內(nèi)存和外部存儲器之間進行多次數(shù)據(jù)交換才能達到對整個文件進行排序的目的,常用的外排序法是歸并排序法,即首先生成若干個子文件,分別對這些子文件進行排序,然后對這些子文件進行多次歸并,使得有序的歸并段主鍵擴大,最后在外存上形成整個文件的單一歸并段。
外排序適用于大數(shù)據(jù)的排序以及去重,但外排序的缺陷是回消耗大量的IO,效率不高。
9. Trie樹
Trie樹是一種用于快速字符串檢索的多叉樹結(jié)果,原理是利用字符串的公共前綴來減少空間開銷。經(jīng)常被搜索引擎系統(tǒng)用于文件詞頻統(tǒng)計。優(yōu)點是:大限度地減少無謂的字符串比較,查詢效率比散列表高。適合用于數(shù)據(jù)量大,重復多,但是數(shù)據(jù)種類小可以放入內(nèi)存的情況。
10. MapReduce
MapReduce是云計算的核心技術(shù)之一,是一種簡化并行計算的分布式編程模型,主要目的是為了大型集群的系統(tǒng)能在大數(shù)據(jù)集上進行并行工作,并用于大規(guī)模數(shù)據(jù)的并行運算。
以上是處理海量數(shù)據(jù)常用的方法,可以根據(jù)需處理的數(shù)據(jù)特點進行選擇使用!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前名稱:海量數(shù)據(jù)處理常用方法有哪些?-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.chinadenli.net/article20/pecco.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計、網(wǎng)站設計、網(wǎng)站制作、企業(yè)網(wǎng)站制作、App開發(fā)、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容