原创 Java 直連Hive Server運行Hive SQL

    最近在做個簡單的hive 查詢調度系統, 需要實現用java 連接hive server運行sql,並需要把結果自動導入到mysql中, 直接上代碼: import com.google.common.collect.List

原创 Java 實現ES批量索引

    項目中有部分數據通過Hadoop離線分析之後,需要將這部分數據的檢索功能暴露出去,於是考慮搭建一套簡單的索引服務。Lucene比較靈活, 可

原创 新聞去重算法的設計和實現

    之前有介紹過大規模去重算法的設計,可惜沒有辦法付諸實現,主要是因爲沒有相應的應用場景,還是停留在紙上談兵的階段!這裏簡單的介紹下新聞去重算法的實現,客戶端在基於yahoo shingle算法的基礎上進行了封裝,便於採用服務的方式來

原创 那些年,我使用過的輪子

    背景     13年7月19日研究生畢業正式工作開始,到目前已經三年多了,接觸和開發的業務線經歷了後臺+算法->大數據+算法+推薦(新聞,廣告)->大數據+微服務(推薦,數據)這個過程,使用的緩存和存儲的輪子基本包括了redis,

原创 nginx https配置以及 api接口版本號rewrite

在做APP的接口設計時,需要考慮不同版本會採用不同的接口API,調研了幾種方式之後,採用了在http header裏面增加application/json;version=vxx的方式來實現版本控制,這樣做的好處是地址不用做變更,客戶端只

原创 LDA中Gibbs採樣算法和並行化

    最近在用topic model跑一些數據,算法採用了LDA和PLSA進行對比,由於數據量稍大,採用了LDA的並行化版本,對其並行化方法很感興趣,查看了相關資料後先總結如下,有時間可以繼續琢磨。Gibbs Sampling用來逼近L

原创 Shell 中mysql 查詢以及shell字符串數組的使用

    最近系統上線,需要統計一些數據,但是有些數據存在log裏面,有些數據存放在數據庫中,需要一種既可以讀取文件又可以操作遠程數據庫的方式,shell可以很方便的實現這個功能,這裏把shell讀取遠程數據庫和數組的方式記錄如下    

原创 hbase和es在搜索場景的應用

背景     最近有個簡單的需求,離線數據挖掘得出的標籤需要支持online的查詢,查詢場景比較簡單,支持按照單個id或者多個id批量查詢,tp99需要在200ms,批量的時候id 集合的大小不會超過1000,平均下來不會超過200的樣子

原创 Kmeans的改進-kmeans++算法的聚類中心初始點選取和蓄水池採樣算法

要解決的問題 kmeans算法存在的一個問題是初始中心的選取是隨機的,造成聚類的結果也是隨機的,一般的做法是進行多次重複整個聚類過程,然後選取聚類效果好的。Kmeans++算法可以很好的解決初始點的選取問題,本文簡單進行了總結和實現,代碼

原创 Hadoop & Hadoop Streaming 自定義輸出格式

    在用Hadoop處理大量的日誌文件的時候,有時候會將錯誤的或者不符合要求的日誌輸出到另外一個目錄,以備後來進行查驗,這裏給出個簡單的例子,並簡單說明下如何在Hadoop Streaming中使用這種方法將錯誤格式的日誌輸出到自定義

原创 LDA並行化實驗(待完善)

    實驗數據     語料大概有1740篇文檔,19889的詞,機器爲16核,48G內存,因爲機器上有其它程序運行,實際可用內存不足6G。     實驗方案     主要包含LDA的三種實現:第一種是LDA的單機版本,第二種是LDA的

原创 淘寶京東類電商評論標籤化的思路

    最近發現京東的評論也開始標籤化了,雖然相對於淘寶的標籤顯得比較生硬,但是也可以看出標籤化是評論的一個趨勢,我個人比較喜歡看評論說話,作爲一個IT工作者,曾經思考了下評論的標籤化工作可能涉及的技術,正好微博有人問起,現在簡單的整理如

原创 streaming kmean cluster 聚類算法實現和分析

    在項目開始的時候,對聚類算法作了調研,總共調研了三種算法,分別是kmeans 算法、streaming kmean算法、fast streaming kmean算法,這是在公司的第一個項目,收穫還是很多的,無論是在項目還是在思維方

原创 基於Density Based Selection 的文本摘要算法

    文本摘要算法大意是提取出文章的主要信息,以一種較爲概括的簡短的方式表達整篇文章,在搜索領域會經常用到,前段時間,yahoo以3000W刀的價格收購了一家創業公司,該公司據說是以一種機器學習的方法來對新聞進行摘要,跟傳統的推送完整新

原创 基於Map-Reduce的大規模分詞服務搭建

    目前項目中,分詞的主要工作方式可以分爲online和offline,online的方式主要是提供服務接口供應用程序來進行調用,比較側重併發和速度,offline的工作方式主要是一次性的,調用完成就釋放,適合一次處理大量文章,較on