GeoHash企業(yè)級(jí)大數(shù)據(jù) 用戶畫像實(shí)戰(zhàn)應(yīng)用項(xiàng)目 GeoHash大數(shù)據(jù)項(xiàng)目實(shí)戰(zhàn)
2222.jpg
下載附件
作為一個(gè)資深技術(shù)死宅,我已經(jīng)是懶癌晚期了,一日三餐基本都懶得做,以前家里堆了各家餐館的外賣單子,自從有了外賣app,省力省心呀。最愛(ài)用的是餓了么,主要是補(bǔ)貼多,但是用著用著我職業(yè)病突然犯了。餓了么給用戶推送的餐館信息是按距離排序的,離用戶越近的,在餐館列表中越靠前。這是怎么做到的呢?
App后臺(tái)獲取自己的地圖位置P,計(jì)算所在位置P與北京所有餐館的距離,然后返回距離<=1000米的餐館。但是北京的餐館何其多啊,這樣計(jì)算不得了,于是想了,既然知道經(jīng)緯度了,那應(yīng)該知道自己在朝陽(yáng)區(qū),那應(yīng)該計(jì)算所在位置P與朝陽(yáng)區(qū)所有餐館的距離啊,但是朝陽(yáng)區(qū)也很多餐館啊,應(yīng)該計(jì)算所在位置P與所在街道所有餐館的距離,這樣計(jì)算量又小了,效率也提升了。就是通過(guò)過(guò)濾的方法來(lái)減小參與計(jì)算的餐館數(shù)目,從某種角度上講,這里使用索引技術(shù)。
一提到索引,大家腦子里馬上浮現(xiàn)出B樹索引,因?yàn)榇罅康臄?shù)據(jù)庫(kù)(如MySQL、oracle、PostgreSQL等)都在使用B樹。B樹索引本質(zhì)上是對(duì)索引字段進(jìn)行排序,然后通過(guò)類似二分查找的方法進(jìn)行快速查找,即它要求索引的字段是可排序的,一般而言,可排序的是一維字段,比如時(shí)間、年齡、薪水等等。但是對(duì)于空間上的一個(gè)點(diǎn)(二維,包括經(jīng)度和緯度),如何排序呢?又如何索引呢?解決的方法很多,下文介紹一種方法來(lái)解決這一問(wèn)題。
思想:如果能通過(guò)某種方法將二維的點(diǎn)數(shù)據(jù)轉(zhuǎn)換成一維的數(shù)據(jù),那樣不就可以繼續(xù)使用B樹索引了嘛。那這種方法真的存在嘛,答案是肯定的。目前很火的GeoHash算法就是運(yùn)用了上述思想,GeoHash將二維的經(jīng)緯度轉(zhuǎn)換成字符串,每一個(gè)字符串代表了某一地圖區(qū)域,通過(guò)對(duì)比字符串來(lái)計(jì)算距離。不僅外賣app,地圖app,大眾點(diǎn)評(píng)等生活商圈app,都是這樣來(lái)給用戶推薦附近商家的。
關(guān)于GeoHash的學(xué)習(xí),我這里有一套葵花寶典,贈(zèng)送給大家
————————–
GeoHash算法能完美的解決地圖定位功能中關(guān)于按距離排序的需求,比如App中搖一搖附近的人,推薦附近商戶等功能是怎么實(shí)現(xiàn)的?在用戶圖像中,如何有效地獲取用戶的商圈,生活圈等商業(yè)興趣?
1)GeoHash用一個(gè)字符串表示經(jīng)度和緯度兩個(gè)坐標(biāo),比如我現(xiàn)在所在位置的GeoHash值為 wx4sv61q;
2)GeoHash標(biāo)識(shí)的并不是一個(gè)點(diǎn),而是一個(gè)區(qū)域,比如 wx4sv61q 對(duì)應(yīng)的就是一個(gè)矩形區(qū)域;
3)編碼的前綴可以標(biāo)識(shí)更大的區(qū)域,比如 wx4sv61 編碼代表的區(qū)域要大于 wx4sv61q 代表的區(qū)域,但是 wx4sv61q 代表的區(qū)域一定在 wx4sv61 代表的區(qū)域內(nèi)。
因此我們?cè)偃プ鼍嚯x檢索的時(shí)候,只需要對(duì)GeoHash進(jìn)行前綴匹配即可,具體的實(shí)現(xiàn)請(qǐng)看視頻
視頻重點(diǎn):
GeoHash算法應(yīng)用的具體場(chǎng)景,GeoHash算法的實(shí)現(xiàn)原理與常見的問(wèn)題,Base32編碼的用法,百度地圖GeocodingAPI的應(yīng)用與實(shí)戰(zhàn),GeoHash算法在用戶畫像上的實(shí)戰(zhàn)應(yīng)用
===============課程目錄===============
1.0.實(shí)戰(zhàn)案例簡(jiǎn)述.wmv
1.1.業(yè)務(wù)背景說(shuō)明.wmv
2.1.感性認(rèn)識(shí)GeoHash算法.wmv
2.2.GeoHash算法實(shí)現(xiàn).wmv
2.3.Base32編碼長(zhǎng)度與精度.wmv
2.4.GeoHash算法原理.wmv
2.5.GeoHash算法的邊界問(wèn)題.wmv
3.1-2.GeocodingAPI及使用說(shuō)明.wmv
3.3.GeocodingAPI代碼實(shí)戰(zhàn).wmv
4.1.GeoHash實(shí)戰(zhàn)業(yè)務(wù)流程.wmv
4.2.1.創(chuàng)建應(yīng)用庫(kù)數(shù)據(jù)表.wmv
4.2.2.查詢并導(dǎo)入數(shù)據(jù)到Hbase表中.wmv
4.2.3.查詢hbase表,調(diào)用百度地圖API進(jìn)行標(biāo)簽識(shí)別.wmv
4.2.4.打標(biāo)簽主體代碼說(shuō)明.wmv
4.2.5.打標(biāo)簽代碼詳解1.wmv
4.2.6.打標(biāo)簽代碼詳解2.wmv
4.3.1.創(chuàng)建表&導(dǎo)入數(shù)據(jù).wmv
4.3.2.調(diào)用GeocodingAPI進(jìn)行數(shù)據(jù)查詢.wmv
4.3.3.打標(biāo)簽任務(wù)集群運(yùn)行.wmv
4.3.3.打標(biāo)簽流程講解.avi
5.總結(jié).wmv
小牛學(xué)堂,十年沉淀,國(guó)內(nèi)首家上市大數(shù)據(jù)教育機(jī)構(gòu) 只為品質(zhì)教育
1》前沿課程:獨(dú)創(chuàng)混元立體式教學(xué),課程貼合企業(yè)需求
2》就業(yè)保障:簽就業(yè)協(xié)議,薪資低于8k即免除全部學(xué)費(fèi)
3》人性化學(xué)費(fèi):0學(xué)費(fèi)入學(xué),就業(yè)后再分期付學(xué)費(fèi)
更多視頻詳見騰訊視頻-小牛學(xué)堂