轉(zhuǎn)帖|行業(yè)資訊|編輯:郝浩|2016-08-09 10:59:25.000|閱讀 205 次
概述:面對每一種酷斃的新技術(shù),人們很容易過于迷戀其中,開始把它用在不當(dāng)?shù)牡胤健1热缯f:從頭到尾瀏覽數(shù)百億條記錄,從中找出幾百萬條標(biāo)以一組標(biāo)準(zhǔn)的記錄,這是MapReduce或你最喜歡實(shí)施的有向無環(huán)圖(DAG,想一想Spark)相當(dāng)愚蠢的一種用法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
對于諸如此類的任務(wù),別忘了那項(xiàng)最初的大數(shù)據(jù)技術(shù):搜索。借助像Solr、Lucidworks和Elasticsearch這些出色的開源工具,你就有了一種有效的方法來優(yōu)化輸入/輸出,并實(shí)現(xiàn)用戶體驗(yàn)個(gè)性化。這么做的效果比使用花哨的新工具不當(dāng)好得多。
不久前,有個(gè)客戶問我如何使用Spark對他們流式傳輸?shù)絅oSQL數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行搜索。問題在于,該客戶的使用模式是簡單的字符串搜索和向下鉆取(drill-down)。這超出了數(shù)據(jù)庫高效處理的能力:他們將不得不從存儲系統(tǒng)獲取所有數(shù)據(jù),然后在內(nèi)存中加以分析。就算擁有DAG,在AWS上也有點(diǎn)慢(更不用說成本高昂了)。
如果你可以把一個(gè)定義的數(shù)據(jù)集放入內(nèi)存,Spark是很出色。Spark并不擅長獲取全世界的數(shù)據(jù),一方面在于在內(nèi)存中,數(shù)據(jù)分析的效果完全取決于你將所有數(shù)據(jù)傳輸?shù)絻?nèi)存以及購買這種內(nèi)存的能力。我們?nèi)孕枰紤]存儲,考慮如何組織管理存儲,以便能夠迅速、利落地獲得我們所需的數(shù)據(jù)。
對于這個(gè)特定的客戶而言,答案就是為進(jìn)入的數(shù)據(jù)編制索引,然后拉回?cái)?shù)據(jù)子集,用于更高級的機(jī)器學(xué)習(xí),但是將搜索任務(wù)交給搜索索引。
搜索、機(jī)器學(xué)習(xí)和某些相關(guān)技術(shù)之間并不存在清晰的界線。很顯然,文本或語言信息往往強(qiáng)烈地表明這是搜索問題。數(shù)字、二進(jìn)制或其性質(zhì)根本不是文本或語言的信息表明這是機(jī)器學(xué)習(xí)(或其他)問題。是存在重疊。甚至在一些情況下,任何一種方法都可以使用,比如異常檢測。
一個(gè)關(guān)鍵問題是,你從存儲系統(tǒng)檢索數(shù)據(jù)時(shí)能不能選擇合適的數(shù)據(jù),以此作為你的一個(gè)標(biāo)準(zhǔn),而不是非得處理大量數(shù)據(jù)。對于文本或定義的數(shù)字?jǐn)?shù)據(jù)而言,這可能很簡單。同樣,人們用于異常檢測的那種類型的規(guī)則可能同樣很適合搜索。
當(dāng)然,這種方法有其局限性。如果你不知道自己在找什么數(shù)據(jù),又無法輕而易舉地定義規(guī)則,那么很顯然搜索并不是合適的工具。
在許多情況下,結(jié)合使用搜索和Spark或你最喜歡的機(jī)器庫可能是秘訣。我之前談?wù)撨^將搜索添加到Hadoop的方法,不過也有將Spark、Hadoop或機(jī)器學(xué)習(xí)添加到搜索的方法。
Spark方面明朗化之后,使用它的人認(rèn)識到,它并不是什么靈丹妙藥,內(nèi)存中處理起來確實(shí)存在大問題。至于你可以索引的數(shù)據(jù),能夠迅速拉回工作集來分析,遠(yuǎn)比使用又大又粗的輸入/輸出、拉入到內(nèi)存中找到你要找的數(shù)據(jù)好得多。
但是,搜索不僅僅是你如何解決“找到我的工作集”、內(nèi)存或輸入/輸出問題。大多數(shù)大數(shù)據(jù)項(xiàng)目的軟肋之一在于缺乏上下文。我之前從安全方面談?wù)撨^這個(gè)話題,但是用戶體驗(yàn)方面又如何?雖然你流式傳輸你能找到的關(guān)于用戶的每一個(gè)數(shù)據(jù),但是如何處理這些數(shù)據(jù),以便實(shí)現(xiàn)用戶體驗(yàn)個(gè)性化?
使用你對用戶了解的信息(即信號),就能改善放到用戶面前的信息。這可能意味著,你在向用戶展示結(jié)果或個(gè)性化網(wǎng)頁時(shí),在用戶交互的前端使用流式分析,而在后端使用分面搜索(faceted search)。
作為一名數(shù)據(jù)架構(gòu)師、工程師、開發(fā)者或科學(xué)家,你需要的不僅僅是工具庫中的一兩種工具。我對于這種方法很惱火:“讓我們存儲一個(gè)很大的blog,希望得到最好的結(jié)果,同時(shí)每當(dāng)我們使用它,就要花錢搜尋。”一些廠商實(shí)際上似乎支持這種方法。
使用索引和搜索技術(shù),你就能構(gòu)成一個(gè)更好的工作集。你還可以避免實(shí)施基于你的數(shù)據(jù)流,為提供給用戶的數(shù)據(jù)實(shí)現(xiàn)個(gè)性化。搜索很好,請使用它。
本文轉(zhuǎn)載自
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn