溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

海量數(shù)據(jù)處理常用方法有哪些?

發(fā)布時間:2020-04-04 12:01:40 來源:網(wǎng)絡(luò) 閱讀:1376 作者:mo默芯 欄目:大數(shù)據(jù)

  處理海量數(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ù)、排列也具有相應(yīng)的Hash方法,常用的Hash構(gòu)造方法有直接尋址法、數(shù)字分析法、平方取中法、折疊法、隨機數(shù)法以及除留余數(shù)法等。

3. BitMap

  BitMap是使用數(shù)組來表示某些數(shù)據(jù)是否存在的方法,可對數(shù)據(jù)進行快速查找、判斷和刪除操作,一般來說數(shù)據(jù)范圍是int10倍以下,Bloom可以看做是對BitMap的擴展。

4.

  堆是計算機科學(xué)中的一種特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱,統(tǒng)稱是一個可以被看做一顆樹的數(shù)組對象,其原理是先從待找的n個數(shù)字中找出前k個建成小頂堆,然后依次讀后面的元素并與小頂堆的堆頂進行比較,如果當(dāng)前元素小或相等,則繼續(xù)讀后面的元素;如果當(dāng)前的元素大,則用當(dāng)前元素替換堆頂元素,然后調(diào)整小頂堆。最大堆求前k小,最小堆求前k大,雙堆,求中位數(shù)。

5. 雙層桶

  雙層桶不是一種數(shù)據(jù)結(jié)構(gòu),而是一種算法思想,類似于分治思想。因為元素范圍很大,不能利用直接尋址表,所以通過多次劃分,逐步確定范圍,然后最后在一個可以接受的范圍內(nèi)進行。雙層桶法一般適用于尋找第k個大的數(shù),尋找中位數(shù)、尋找不重復(fù)或重復(fù)的數(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. 倒排索引

  倒排索引是目前搜索引擎公司對搜索引擎最常用的存儲方式,被用來存儲在全文搜索下某個單詞在一個文檔或者一組文檔中的存儲位置的映射。在處理復(fù)雜的多關(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ù)量大,重復(fù)多,但是數(shù)據(jù)種類小可以放入內(nèi)存的情況。

10. MapReduce

  MapReduce是云計算的核心技術(shù)之一,是一種簡化并行計算的分布式編程模型,主要目的是為了大型集群的系統(tǒng)能在大數(shù)據(jù)集上進行并行工作,并用于大規(guī)模數(shù)據(jù)的并行運算。

以上是處理海量數(shù)據(jù)常用的方法,可以根據(jù)需處理的數(shù)據(jù)特點進行選擇使用!


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI