分布式數據處理平臺的制作方法
【技術領域】
[0001]本發明涉及計算機技術領域,尤其涉及一種分布式數據處理平臺。
【背景技術】
[0002]微博是一種典型的大數據類型,它從誕生到現在,發展迅速,例如,新浪微博的每日發博量已經超過一億條,尤其在突發和熱點事件中,微博的影響規模和傳播速度超越了普通博客和傳統的新聞媒體。目前,針對微博的企業營銷和輿情監測是關注的熱點,例如,微博實時查詢,統計分析,微博分類,熱點檢測等。
[0003]現有技術中,采用Hadoop平臺來實現對微博的實時查詢、統計分析、微博分類、熱點檢測等。在Hadoop平臺中,微博數據存放在關系型數據庫Hbase中。Hadoop平臺對微博進行分析時,需要從關系型數據庫調取微博數據,基于磁盤對微博數據進行捕捉分析和計算,然后存儲至關系型數據庫中。然而現有技術中,從關系型數據庫調取微博數據,需要根據微博數據的ID等標識順序查詢各對應關系,才能查詢到微博數據,從而導致采用Hadoop平臺來對微博進行查詢分析時的查詢速度慢,而磁盤對微博數據進行捕捉分析和計算,分析效率低,難以滿足微博大數據的要求。
【發明內容】
[0004]本發明提供一種分布式數據處理平臺,用于解決現有技術中Hadoop平臺分析效率低的問題。
[0005]本發明的第一個方面是提供一種分布式數據處理平臺,包括:
[0006]存儲層、計算層、查詢接口與算法庫,以及應用層;
[0007]所述存儲層,包括:分布式文件系統HDFS、HBase數據庫系統和分布式索引系統ES ;所述HBase數據庫系統搭建在所述HDFS之上,用于存儲微博的標識與微博數據之間的對應關系;所述分布式索引系統ES中建立有微博關鍵字段與微博標識之間的對應關系;
[0008]所述應用層,用于接收用戶終端發送的處理指令,根據所述處理指令向所述查詢接口與算法庫發送對應的查詢請求,所述查詢請求中攜帶微博的標識或微博關鍵字段;
[0009]所述查詢接口與算法庫,用于根據所述查詢請求從存儲層中查詢微博數據;
[0010]所述計算層,用于根據所述處理指令對所述查詢接口與算法庫查詢到的微博數據進行處理,得到處理結果,將所述處理結果反饋給所述應用層。
[0011]進一步地,所述應用層包括:微博搜索組件、統計分析組件、微博分類組件和事件檢測組件;
[0012]所述處理指令為微博搜索指令、統計分析指令、微博分類指令或者事件檢測指令;
[0013]所述微博搜索組件用于從用戶終端接收所述微博搜索指令,根據所述微博搜索指令向所述查詢接口與算法庫發送對應的查詢請求;
[0014]所述統計分析組件用于從用戶終端接收所述統計分析指令,根據所述統計分析指令向所述查詢接口與算法庫發送對應的查詢請求;
[0015]所述微博分類組件用于從用戶終端接收所述微博分類指令,根據所述微博分類指令向所述查詢接口與算法庫發送對應的查詢請求;
[0016]所述事件檢測組件用于從用戶終端接收所述事件檢測指令,根據所述事件檢測指令向所述查詢接口與算法庫發送對應的查詢請求。
[0017]進一步地,所述查詢接口與算法庫,包括:統一查詢接口、Shark查詢引擎和Mahout算法集合;所述統一查詢接口用于從應用層的各組件中接收查詢請求,根據所述查詢請求調用Shark查詢引擎從存儲層中查詢微博數據。
[0018]進一步地,所述計算層具體用于,調用所述查詢接口與算法庫中的Mahout算法集合,根據所述各組件的處理指令對所述查詢接口與算法庫查詢到的微博數據進行處理,得到與所述處理指令對應的處理結果,將所述處理結果通過所述統一查詢接口反饋給與所述處理指令對應的組件。
[0019]進一步地,所述微博數據包括:微博信息數據、用戶數據、評論數據和轉發關系數據。
[0020]進一步地,所述微博信息數據中包括:每條微博的ID、來源、創建時間、地理信息、微博作者ID、微博配圖、微博內容、轉發的上一級微博的ID、轉發的根微博的ID、轉發數量、評論數量和點贊數量中的任意一種或多種參數;
[0021]所述微博信息數據以微博ID和微博創建時間為標識存儲在所述HBase數據庫系統中。
[0022]進一步地,所述用戶數據中包括:用戶WD、微博昵稱、省份、城市、地址、個人描述、用戶博客地址、自定義圖像、性別、用戶個性化URL、粉絲數、關注數、微博數、收藏數、創建時間、是否微博認證用戶、認證類型、互粉數、備注信息、用戶語言版本、認證原因;
[0023]所述用戶數據以用戶UID為標識存儲在所述HBase數據庫系統中。
[0024]進一步地,所述評論數據中包括:評論ID、評論針對的原始微博ID、發布評論的用戶WD、評論的內容、評論發布時間、評論的來源;
[0025]所述評論數據以評論ID、評論針對的原始微博ID和評論發布時間為標識存儲在所述HBase數據庫系統中。
[0026]進一步地,所述轉發關系數據中包括:原始微博ID,原始微博的各個轉發微博的ID以及其對應的上一級微博ID ;
[0027]所述轉發關系數據以所述原始微博ID為標識存儲在所述HBase數據庫系統中。
[0028]本發明中,提供一種分布式數據處理平臺,包括:存儲層、計算層、查詢接口與算法庫,以及應用層;存儲層,包括:分布式文件系統HDFS、HBase數據庫系統和分布式索引系統ES ;HBase數據庫系統搭建在HDFS之上,用于存儲微博的標識與微博數據之間的對應關系;分布式索引系統ES中建立有微博關鍵字段與微博標識之間的對應關系;應用層,用于接收用戶終端發送的處理指令,根據處理指令向查詢接口與算法庫發送對應的查詢請求,查詢請求中攜帶微博的標識或微博關鍵字段;查詢接口與算法庫,用于根據查詢請求從存儲層中查詢微博數據;計算層,用于根據處理指令對查詢接口與算法庫查詢到的微博數據進行處理,得到處理結果,將處理結果反饋給應用層,從而在HBase數據庫系統和分布式索引系統ES的配合使用下,提高分布式數據處理平臺查詢微博的速度和對微博進行分析的效率,能夠滿足微博大數據的要求。
【附圖說明】
[0029]圖1為本發明提供的分布式數據處理平臺實施例的結構示意圖。
【具體實施方式】
[0030]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0031]圖1為本發明提供的分布式數據處理平臺實施例的結構示意圖,如圖1所示,包括:
[0032]存儲層11、計算層12、查詢接口與算法庫13,以及應用層14 ;
[0033]存儲層11,包括:分布式文件系統(Hadoop Distributed File System,HDFS) 111、數據庫系統(Hadoop Database,HBase) 112 和分布式索引系統(Elastic Search,ES) 113 ;HBase數據庫系統112搭建在HDFS111之上,用于存儲微博的標識與微博數據之間的對應關系;分布式索引系統ES113中建立有微博關鍵字段與微博標識之間的對應關系;
[0034]應用層14,用于接收用戶終端發送的處理指令,根據處理指令向查詢接口與算法庫13發送對應的查詢請求,查詢請求中攜帶微博的標識或微博關鍵字段;
[0035]查詢接口與算法庫13,用于根據查詢請求從存儲層11中查詢微博數據;
[0036]計算層12,用于根據處理指令對查詢接口與算法庫13查詢到的微博數據進行處理,得到處理結果,將處理結果反饋給應用層14。
[0037]其中,應用層具體可以14包括:微博搜索組件、統計分析組件、微博分類組件和事件檢測組件;
[0038]對應的,處理指令具體可以為微博搜索指令、統計分析指令、微博分類指令或者事件檢測指令;
[0039]微博搜索組件用于從用戶終端接收微博搜索指令,根據微博搜索指令向查詢接口與算法庫發送對應的查詢請求;
[0040]統計分析組件用于從用戶終端接收統計分析指令,根據統計分析指令向查詢接口與算法庫發送對應的查詢請求;
[0041]微博分類組件用于從用戶終端接收微博分類指令,根據微博分類指令向查詢接口與算法庫發送對應的查詢請求;
[0042]事件檢測組件用于從用戶終端接收事件檢測指令,根據事件檢測指令向查詢接口與算法庫發送對應的查詢請求。
[0043]具體地,微博數據包括:微博信息數據、用戶數據、評論數據和轉發關系數據。
[0044]微博信息數據中包括:每條微博的ID、來源、創建時間、地理信息、微博作者ID、微博配圖、微博內容、轉發的上一級微博的ID、轉發的根微博的ID、轉發數量、評論數量和點贊數量中的任意一種或多種參數;微博信息數據以微博ID和微博創建時間為標識存儲在HBase數據庫系統中。
[0045]用戶數據中