資料概要技術與FM Sketch方法

2021-06-14 19:52:10 字數 1274 閱讀 2327

由於大資料自身的海量非結構化的特點,很多時候,尤其是在一些要求高速訪問的場景下,直接儲存資料本身是不可取的。這種情況下,我們採取的一種方法,根據應用需求,從原資料提取出能反映資料的特徵的資料,通過對這些特徵資料的處理,可以更加高效地達到應用的需求,這種技術稱為概要技術。

fm sketch是概要技術的一種,下面通過介紹fm sketch技術來說明概要技術在資料處理方面的優勢。

假若我們要統計乙個流資料中不同元素的個數,最簡單的方法是,將目前為止收到的不同的元素儲存在乙個資料結構中,每收到乙個新的元素,在這個資料結構中查詢這個元素,如果能找到,則不作處理;如果不能找到,則將該元素新增到該資料結構(簡單地說,就是記下該資料元素。),並將計數器加一。這種方法是可行的,但是時空開銷比較大。空間上來說,要儲存所有的不同元素。時間上來說,每收到乙個元素,都要在乙個龐大的資料結構(記錄著每乙個不同的資料元素)中進行查詢(看看這個新元素是否原來已經收到過)。

為了將這一方法改進,我們可以通過雜湊來降低演算法所需的空間開銷。比如,我們設計一種雜湊函式,將收到的資料均勻地雜湊到10個桶。最後將10個桶中的不同元素的數目相加得到結果。這樣,只需要在乙個桶內查詢是否存在重複,能夠在一定程度上減少時間開銷,但空間開銷依舊很大。

fm sketch方法是在2023年由法國的philippe flajolet和英國的g. nigel martin提出,可以更好地解決以上問題,我們可以設計一種雜湊函式,使元素雜湊到0號桶的概率是1/2,1號桶的概率是1/4,2號桶的概率是1/8,3號桶的概率是1/16,n號桶的概率是2^(-n-1)。計算過程中,我們可以只保留第n個桶中的不同元素。如果第n號桶中的不同元素個數為a,則我們可以認為總的流資料中的不同元素的個數為a/(2^(-n-1)),也就是a*(2^(n+1))。這也是一種基於概率的方法,空間上只需要logn的複雜度。實際上,這樣的雜湊函式是可以找到,而且不難找到的,比如可以在0號桶中存放不能被2整除的元素,在1號桶中存放能被2整除不能被4整除的元素,在2號桶中存放能被4整除不能被8整除的元素,在n號桶中存放能被2^n整除,不能被2^(n+1)整除的元素。

fm sketch也可以回答兩個流的並中有多少不同元素等類似的問題:同樣地,將兩個流的元素都雜湊到上面的桶,然後根據最後乙個桶中的不同的元素個數進行合理的推斷計算即可。儘管這種方法是一種基於概率的方法,但是實際中在資料量比較大的情況下,往往能在時空開銷比較小的情況下取得比較好的應用效果。

由fm sketch方法的原理,我們可以看出,概要技術的特點是時空開銷比較小,但不適用與要求精確查詢的場合。由於大資料條件下所獲取的資料常常含有一些不完善的資訊和一些錯誤的資料,在這種不完備資料上的查詢,概要技術正好能夠反映資料的突出特點,滿足應用需求。

XML技術概要

xhtml 使用xml重新定義了html 4.01的語法。xhtml 1.0是html的下乙個版本。css 樣式單可以為xml文件新增顯示資訊。xsl由三部分組成 xml文件轉換 xml document transformation 又叫xslt 模式匹配語法 a pattern matching...

XML技術概要

xhtml 使用xml重新定義了html 4.01的語法。xhtml 1.0是html的下乙個版本。css 樣式單可以為xml文件新增顯示資訊。xsl由三部分組成 xml文件轉換 xml document transformation 又叫xslt 模式匹配語法 a pattern matching...

ADAS技術概要

先進駕駛輔助系統 advanced driverassistant system 簡稱adas,是智慧型交通領域的乙個大方向,近幾年adas迅速發展,在車道線檢測 前車防撞 疲勞駕駛 緊急壁障 訊號燈識別等方面都取得了長足的進步,這也是我們把adas單獨作為一節來進行闡述的原因。當然adas系統會用...