
像之前說的的例子,都是在HBase clinet 端作處理。
而我們使用HBase,當然希望是使用他整體Cluster 的運算能力來幫我們運算,所以我們想把運算的作業交由HBase的Region Server 幫我們作處理。
HBase 提供了兩種方式讓我們可以把運算功能實作在 Region Server
1) filter

像之前說的的例子,都是在HBase clinet 端作處理。
而我們使用HBase,當然希望是使用他整體Cluster 的運算能力來幫我們運算,所以我們想把運算的作業交由HBase的Region Server 幫我們作處理。
HBase 提供了兩種方式讓我們可以把運算功能實作在 Region Server
1) filter
假設我們現在的問題是:「離我最近的5個wifi熱點在哪裡」
工程師看到問題,一般來說,就會想到至少要下面二樣東西才能查找相關資訊
1.我(目標) 目前的位置(經度及緯度)
2.要幾個結果數 (本問題是5個,當然你也可以寫死,比較彈性的方式是多一個參數或設定可以傳入想要的結果數)

目前想採用的方案是使用HBse + geohash
HBase要想能很快的搜尋,就必須把row key設計好,但從之前的例子,我們直接使用經度+緯度 或是 緯度+經度當成row key,都無法達成我們想要下列的目標
1.查詢空間內彼此接近的點,在硬碟上的儲存位置也是彼此接近
2.回應查詢時,回傳盡可能少的點

最近在研究geohash,剛好看到和HBase 的結合,所以這邊就一併筆記一下
背景:目前網路上一些基於地理位置的服務,例如,找到目前所在地周遭500公尺的咖啡站,在巨量資料的情況下,你總不希望你的使用者等一個MapReduce跑完才會知道結果吧?!
因為HBase 有低延遲(low latency)的特性,也許我們可以使用HBase來儲存此類的地理資料並解決問題。
地理位置最簡單的結構就是大家常知道的經緯度(X,Y座標),有一些地圖資料比較詳細,甚至有高度的資料(Z軸),這邊我們先不考慮這項因素,只要先考慮X,Y座標即可。
知道了資料的格式(經緯度代表一組XY座標),那我們要怎麼存到HBase裡呢? 這個就要先知道HBase Schema和Rowkey的設計。
最近在研究Arvo
簡單地說, Arvo 可以把物件序列化,以便系統之間溝通
Arvo介紹
http://fangjian0423.github.io/2016/02/21/avro-intro/
http://blog.csdn.net/xyw_blog/article/details/8967362
最近吳奇隆和劉詩詩的婚禮弄的轟轟烈烈
也因此小虎隊三人齊聚一堂!
網路上也一直播放之前三人合體的畫面。
現在只要三人同台合唱,場邊總有人流下感動的眼淚,其實我聽了也蠻感傷,
應該是因為,那是陪我們這一代人成長的回憶,在那個之前還算美好的時代!
雖然覺得蘇友朋不適合待在幕前,但非常欣賞他的努力
https://www.youtube.com/watch?v=Q-tYr7i2oaQ
還有就是我高中的時候,看了很多遍他寫我在建中的日子,是一本很適合考生穩定自己心情的書。
By the way,還是覺得蘇友朋是值得學習的對象!
http://lxw1234.com/archives/2016/02/614.htm
http://lxw1234.com/archives/2016/03/619.htm
不過最近試的結果是降維後準確度也降低了
這表示我原本選的資料就太完美了嗎...XD
下次來問問教授!!!