2.將數(shù)據(jù) 遷移 tool初始化為ES 數(shù)據(jù) library。數(shù)據(jù) 遷移什么意思?海量數(shù)據(jù)自動(dòng)駕駛儀背后,彈性搜索海量數(shù)據(jù)應(yīng)用場(chǎng)景中經(jīng)常會(huì)遇到模糊查詢或多條件匹配查詢,數(shù)據(jù)在量小的情況下可以通過簡(jiǎn)單的數(shù)據(jù)庫模糊查詢解決,但是對(duì)于數(shù)據(jù)量大的情況,數(shù)據(jù)庫模糊查詢會(huì)出現(xiàn)性能問題。
: 1主要有三種方法。PutAPIPutAPI可能是將數(shù)據(jù)快速導(dǎo)入HBase表的最直接的方法。但是在導(dǎo)入的時(shí)候不建議使用[Bulk 數(shù)據(jù)]!但可以作為一個(gè)簡(jiǎn)單的數(shù)據(jù) 遷移選項(xiàng)直接編寫代碼進(jìn)行批量處理,簡(jiǎn)單方便可控。2.mapreduceJob推薦使用sqoop,其底層實(shí)現(xiàn)是MapReduce,數(shù)據(jù)并行導(dǎo)入,不需要自己開發(fā)代碼,過濾條件可以通過查詢參數(shù)實(shí)現(xiàn)。
Spark是一個(gè)處理海量 數(shù)據(jù)的快速通用引擎。Spark作為一種大型數(shù)據(jù)處理技術(shù),經(jīng)常被拿來和Hadoop做比較。Hadoop已經(jīng)成為大型數(shù)據(jù)技術(shù)事實(shí)上的標(biāo)準(zhǔn),HadoopMapReduce也非常適合大型數(shù)據(jù)集合的批量處理,但是它仍然存在一些缺陷。具體表現(xiàn)為:1。HadoopMapRedue的表達(dá)能力有限。所有的計(jì)算都需要轉(zhuǎn)化為Map和Reduce兩個(gè)操作,這兩個(gè)操作并不適用于所有場(chǎng)景,很難描述復(fù)雜的數(shù)據(jù)過程。
HadoopMapReduce每一步之間都需要數(shù)據(jù)序列化到磁盤,所以I/O開銷很大,導(dǎo)致交互分析和迭代算法開銷很大,幾乎所有的優(yōu)化和機(jī)器學(xué)習(xí)都是迭代的。所以HadoopMapReduce不適合交互分析和機(jī)器學(xué)習(xí)。3.計(jì)算延遲很高。如果要完成更復(fù)雜的工作,必須串聯(lián)一系列MapReduce作業(yè),然后按順序執(zhí)行。
3、ElasticSearch 海量 數(shù)據(jù)使用簡(jiǎn)述應(yīng)用場(chǎng)景中經(jīng)常會(huì)遇到模糊查詢或者多條件匹配查詢。數(shù)據(jù)金額不大時(shí)可以在數(shù)據(jù)庫中通過簡(jiǎn)單的模糊查詢解決,但金額巨大時(shí)數(shù)據(jù)。在這種情況下,一個(gè)解決方案就是根據(jù)查詢內(nèi)容建立倒排索引,借助搜索引擎進(jìn)行查詢,提高查詢性能。目前廣泛使用的分布式搜索引擎是ElasticSearch。那么如何在項(xiàng)目中使用ES呢?
下面簡(jiǎn)單描述一下。Elasticsearch的使用可以簡(jiǎn)單的分為兩個(gè)階段。數(shù)據(jù)初始化階段,數(shù)據(jù)更新階段。數(shù)據(jù)初始化階段。數(shù)據(jù)常見的初始化方式如下:1。在數(shù)據(jù)庫中手動(dòng)插入數(shù)據(jù)2.將數(shù)據(jù) 遷移 tool初始化為ES 數(shù)據(jù) library。目前常用的ES同步工具有l(wèi)ogstashinputjdbc和DataX。