盡管Hadoop、Spark和NoSQL數(shù)據(jù)庫(kù)現(xiàn)在正發(fā)展的如火如荼,但請(qǐng)不要忘記搜索是最原始,最有用的大數(shù)據(jù)技術(shù)之一。隨著很多非常棒的開源工具比如Solr,Lucidworks以及Elasticsearch的出現(xiàn),你可以使用非常強(qiáng)大的方法優(yōu)化I/O以及個(gè)性化用戶體驗(yàn),它會(huì)比以錯(cuò)誤結(jié)束的紛繁復(fù)雜的新工具要好得多。
成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái),先為南宮等服務(wù)建站,南宮等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為南宮企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。Spark缺陷
不久前,一個(gè)客戶問我,如何使用spark查遍所有涌入NoSQL數(shù)據(jù)庫(kù)的大批量數(shù)據(jù)。問題在于,他們的搜索模式是單一的字符串搜索和向下查詢,這已經(jīng)超出了數(shù)據(jù)庫(kù)的有效能力范圍。他們從存儲(chǔ)中拉取數(shù)據(jù)并在內(nèi)存中解析。即便AWS上有DAG,但還是很慢,更不用提昂貴的價(jià)格了。
當(dāng)你在內(nèi)存中處理意義明確的數(shù)據(jù)集時(shí),Spark還是很有幫助的,不僅在于其強(qiáng)大的吸收能力,更是因?yàn)槠湓趦?nèi)存中的分析能力和轉(zhuǎn)移到內(nèi)存中的能力一樣強(qiáng)大。我們?nèi)匀恍枰紤]存儲(chǔ)并且要知道如何做才能達(dá)到我們想要的快速簡(jiǎn)潔的效果。對(duì)于某些客戶來(lái)說(shuō),數(shù)據(jù)進(jìn)來(lái)之后可能會(huì)拉取出某個(gè)集合用于機(jī)器學(xué)習(xí),把搜索工作留給搜索引擎完成。
搜索與機(jī)器學(xué)習(xí)
其實(shí),在搜索,機(jī)器學(xué)習(xí)和其他相關(guān)技術(shù)之間,不存在明顯的界限。顯然,文本或語(yǔ)言信息往往可以很強(qiáng)烈的反映出搜索問題,不管是數(shù)值型還是二進(jìn)制,非文本或語(yǔ)言都可以很自然的表明問題所在。在這方面,這些技術(shù)是重疊的。在某些方面,這些技術(shù)的處理方式甚至很類似,比如異常檢測(cè),任何一個(gè)技術(shù)都可以有效地解決該問題。
關(guān)鍵的問題在于當(dāng)你把部分內(nèi)存作為標(biāo)準(zhǔn)進(jìn)行檢索時(shí),能否挑選出正確的數(shù)據(jù),而不必瀏覽所有數(shù)據(jù)。對(duì)文本或定義明確的數(shù)值型數(shù)據(jù)來(lái)說(shuō)是比較簡(jiǎn)單的。其次,異常檢測(cè)機(jī)制可能也會(huì)自己進(jìn)行搜索,當(dāng)然這種方法也有其局限性,如果你不知道你需要什么,或不能明確定義規(guī)則,搜索顯然就不是合適的工具了。
搜索加大數(shù)據(jù)
在許多情況中,使用Spark加搜索或者機(jī)器學(xué)習(xí)的方法都不錯(cuò),之前也有講過在Hadoop中添加搜索的方法,但其實(shí)這也同樣適用于Spark或機(jī)器學(xué)習(xí)。
當(dāng)Spark趨于穩(wěn)定之后,用戶忽然意識(shí)到Spark并沒有那么神奇,實(shí)際在內(nèi)存中運(yùn)行時(shí)也存在很多問題,數(shù)據(jù)可以進(jìn)行搜索,拉取工作集分析的速度遠(yuǎn)比使用笨重的I/O去內(nèi)存中尋找想要的數(shù)據(jù)要快得多。
搜索和上下文
搜索并不僅僅是解決工作集,內(nèi)存或I/O問題,大多數(shù)大數(shù)據(jù)項(xiàng)目的弱點(diǎn)之一是缺少上下文環(huán)境,關(guān)于安全問題已經(jīng)講過了,那用戶體驗(yàn)如何呢?盡管你可以發(fā)現(xiàn)很多用戶數(shù)據(jù),但你如何個(gè)性化用戶體驗(yàn)?zāi)?使用你所知道的一切用戶信息,可以提高呈現(xiàn)在用戶面前的數(shù)據(jù)質(zhì)量,這可能意味著當(dāng)你向用戶呈現(xiàn)個(gè)性化頁(yè)面時(shí),前端的用戶交互和后端的搜索需要使用流分析搞定。搜索解決方案作為數(shù)據(jù)架構(gòu)師,工程師,開發(fā)者或者是科學(xué)家,在搜索方案上,你至少需要一到兩個(gè)選擇。我最不喜歡的方法就是,內(nèi)存搞得特別大,然后希望每次分類都可以使用它,一些供應(yīng)商似乎非常喜歡這種方式。
使用索引和搜索技術(shù)可以構(gòu)建更好的工作空間,還可以避免機(jī)器學(xué)習(xí)或分析以及簡(jiǎn)單的從存儲(chǔ)中通過某種標(biāo)準(zhǔn)選擇數(shù)據(jù)——甚至通過某些標(biāo)志,基于數(shù)據(jù)流對(duì)用戶數(shù)據(jù)進(jìn)行個(gè)性化。從中可以看出,搜索是非常不錯(cuò)的選擇,值得一用!