PIXNET Logo登入

工程師的哭爸

跳到主文

工程師的哭爸

部落格全站分類:

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 23 週一 201616:21
  • HBase 、GeoHash 與地理空間-4

像之前說的的例子,都是在HBase clinet 端作處理。
而我們使用HBase,當然希望是使用他整體Cluster 的運算能力來幫我們運算,所以我們想把運算的作業交由HBase的Region Server 幫我們作處理。


HBase 提供了兩種方式讓我們可以把運算功能實作在 Region Server
1) filter
2) coprocessor

我們來看一下要如何處理,首先我們先改變一下我們的問題,我們不再找離自己最近的wifi,問題改成:
找尋某個多邊型內的有哪些wifi

比如說我們想確認國父紀念館裡有多少wifi,這個還算簡單,因為國父紀念館是一個方形的範圍,但有可能我們是希望讓使用者手繪多邊形,所以希望是不規則的多邊形也可以處理。

undefined

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(50)

  • 個人分類:
▲top
  • 5月 23 週一 201614:11
  • HBase 、GeoHash 與地理空間-3

假設我們現在的問題是:「離我最近的5個wifi熱點在哪裡」
工程師看到問題,一般來說,就會想到至少要下面二樣東西才能查找相關資訊
1.我(目標) 目前的位置(經度及緯度)
2.要幾個結果數 (本問題是5個,當然你也可以寫死,比較彈性的方式是多一個參數或設定可以傳入想要的結果數)

 

依上述的問題,我們定義的函數如下
public colleciton<QueryMatch> queryKNN(double lat , double lon , int n)
{
  1.把目標轉成geohash
  2.迴圈找出目標和他的9宮格鄰居內的wifi 熱點資料
  3.對上述找出之資料進行排序,找出最近距離的n  個點回傳

}

大致上的程式碼如下

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(34)

  • 個人分類:
▲top
  • 5月 23 週一 201610:32
  • HBase 、GeoHash 與地理空間-2

undefined

目前想採用的方案是使用HBse + geohash

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

 

也許我們可以實作一個coprocessor,把多餘的經度或緯度的資料濾掉,但這個不是理想的方式,因為還是需要先讀出資料,先避開無關的資料不去讀取,才是最好的方式。

所以現在的問題是,如何把經度和緯度整合起來變成一個好的row key,這時我們可使用geohash
geohash的介紹可參考
http://www.cnblogs.com/LBSer/p/3310455.html
http://charlee.li/geohash-intro.html

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(66)

  • 個人分類:
▲top
  • 5月 16 週一 201611:34
  • HBase 、GeoHash 與地理空間-1

undefined

最近在研究geohash,剛好看到和HBase 的結合,所以這邊就一併筆記一下

背景:目前網路上一些基於地理位置的服務,例如,找到目前所在地周遭500公尺的咖啡站,在巨量資料的情況下,你總不希望你的使用者等一個MapReduce跑完才會知道結果吧?!

因為HBase 有低延遲(low latency)的特性,也許我們可以使用HBase來儲存此類的地理資料並解決問題。 

 

地理位置最簡單的結構就是大家常知道的經緯度(X,Y座標),有一些地圖資料比較詳細,甚至有高度的資料(Z軸),這邊我們先不考慮這項因素,只要先考慮X,Y座標即可。

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(43)

  • 個人分類:
▲top
  • 3月 31 週四 201614:57
  • Arvo 簡介

最近在研究Arvo
簡單地說, Arvo 可以把物件序列化,以便系統之間溝通
Arvo介紹 
http://fangjian0423.github.io/2016/02/21/avro-intro/
http://blog.csdn.net/xyw_blog/article/details/8967362

Arvo 把物件序列化和反序列化的方式有兩種
1.需先取得Arvo Schema ,藉由Arvo Schema 產生資料對應的物件,在程式裡面作資料序列化和反序列化
ex:http://www.iteblog.com/archives/1008

這種的好處是程式撰寫簡單,但相反的比較沒彈性,如果格式改變則程式要作修改並重新編譯

2.Runtime 讀取Avro 檔案取得Schema 並作序列化及反序列化

好處是若檔案格式改變,因為程式是Runtime讀取Scheam作parse,所以不用修改
缺點是程式撰寫較為複雜(後來也覺得還好)

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(25)

  • 個人分類:
▲top
  • 3月 22 週二 201623:19
  • 青春的掙扎

今天聽到的話:青春的掙扎

那表示我還青春吧,所以還會想掙扎!

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(3)

  • 個人分類:
▲top
  • 3月 22 週二 201609:37
  • 小虎隊

最近吳奇隆和劉詩詩的婚禮弄的轟轟烈烈

也因此小虎隊三人齊聚一堂!

網路上也一直播放之前三人合體的畫面。

現在只要三人同台合唱,場邊總有人流下感動的眼淚,其實我聽了也蠻感傷,

應該是因為,那是陪我們這一代人成長的回憶,在那個之前還算美好的時代!

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(1)

  • 個人分類:
▲top
  • 3月 20 週日 201622:36
  • 蘇友朋

雖然覺得蘇友朋不適合待在幕前,但非常欣賞他的努力

https://www.youtube.com/watch?v=Q-tYr7i2oaQ

還有就是我高中的時候,看了很多遍他寫我在建中的日子,是一本很適合考生穩定自己心情的書。

By the way,還是覺得蘇友朋是值得學習的對象!

 

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(1)

  • 個人分類:
▲top
  • 3月 20 週日 201620:00
  • 衝突

不要害怕衝突,而是要管理衝突。

老毛病又犯了,對未來的不確定性出現時,就一直煩心,加油呀,管理自己的情緖!

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(3)

  • 個人分類:
▲top
  • 3月 16 週三 201617:32
  • Spark 作 Feature selection的文章

http://lxw1234.com/archives/2016/02/614.htm

http://lxw1234.com/archives/2016/03/619.htm

不過最近試的結果是降維後準確度也降低了

這表示我原本選的資料就太完美了嗎...XD

下次來問問教授!!!

(繼續閱讀...)
文章標籤

avseq 發表在 痞客邦 留言(0) 人氣(3)

  • 個人分類:
▲top
12...50»

Someone

文章分類

  • 【回憶】羽球 (10)
  • 【回憶】心情小語 (266)
  • 【回憶】程式設計 (2)
  • 【回憶】Photoimpact (2)
  • 【回憶】音樂 (6)
  • 【回憶】FIN.K.L (10)
  • 【回憶】美食 (2)
  • 【回憶】工作雜記 (80)
  • 【回憶】閱讀 (8)
  • 【回憶】我的行腳 (14)
  • 【回憶】好文章 (15)
  • 【回憶】科技新知 (3)
  • 【回憶】攝影技巧 (2)
  • 【回憶】敗家子 (6)
  • 【回憶】我的年少輕狂 (5)
  • 【回憶】電影 (19)
  • 【回憶】戲劇 (20)
  • 【回憶】亦菲 (2)
  • 未分類文章 (1)

近期文章

    敗家清單

    Waiting for watching

    參觀人氣

    • 本日人氣:
    • 累積人氣:

    尚未吃的美食