原创 分佈式爬蟲系統設計、實現與實戰:爬取京東、蘇寧易購全網手機商品數據+MySQL、HBase存儲

[TOC] 1 概述 在不用爬蟲框架的情況,經過多方學習,嘗試實現了一個分佈式爬蟲系統,並且可以將數據保存到不同地方,類似MySQL、HBase等。 基於面向接口的編碼思想來開發,因此這個系統具有一定的擴展性,有興趣的朋友直接看一下代碼,

原创 Spark源碼研讀-散篇記錄(一):SparkConf

0 關於散篇記錄 散篇記錄就是,我自己覺得有需要記錄一下以方便後來查找的內容,就記錄下來。 1 Spark版本 Spark 2.1.0。 2 說明 源碼過程中所涉及的許多Scala的知識,完全可以參考之前Scala的筆記文章,應該來說確實很

原创 大數據採集、清洗、處理:使用MapReduce進行離線數據分析完整案例

[TOC] 1 大數據處理的常用方法 大數據處理目前比較流行的是兩種方法,一種是離線處理,一種是在線處理,基本處理架構如下: 在互聯網應用中,不管是哪一種處理方式,其基本的數據來源都是日誌數據,例如對於web應用來說,則可能是用戶的訪問

原创 Flume+Kafka+Storm+Redis構建大數據實時處理系統:實時統計網站PV、UV+展示

[TOC] 1 大數據處理的常用方法 前面在我的另一篇文章中《大數據採集、清洗、處理:使用MapReduce進行離線數據分析完整案例》中已經有提及到,這裏依然給出下面的圖示: 前面給出的那篇文章是基於MapReduce的離線數據分析案例

原创 搭建Spark源碼研讀和代碼調試的開發環境

Note:環境的基本配置可以參考我這裏轉載的這篇文章,當然我自己嘗試的時候還是會出現其它的問題,如果有,那麼參考下面兩篇文章的案例:http://blog.51cto.com/wangyuguo/1981837 https://www.ma

原创 MapReduce程序之序列化原理與Writable案例

[TOC] MapReduce程序之序列化原理與Writable案例 前言 在編寫MapReduce程序時,我們會發現,對於MapReduce的輸入輸出數據(key-value),我們只能使用Hadoop提供的數據類型,而不能使用Java

原创 Redis筆記整理(三):進階操作與高級部分

[TOC] Redis發佈訂閱 Redis發佈訂閱(pub/sub)是一種消息通信模式:發送者(pub)發送消息,訂閱者(sub)接收消息。 Redis客戶端可以訂閱任意數量的頻道。 下圖展示了頻道channel1,以及訂閱這個頻道的三個

原创 Redis筆記整理(一):Redis安裝配置與數據類型操作

[TOC] Redis簡介 Redis是一個開源(BSD許可),內存存儲的數據結構服務器,可用作數據庫,高速緩存和消息隊列代理。 它支持字符串、哈希表、列表、集合、有序集合,位圖,hyperloglogs等數據類型。 內置複製、Lu

原创 MapReduce程序之combiner規約

[toc] MapReduce程序之combiner規約 前言 前面的wordcount程序,shuffle階段的數據都是<hello, [1, 1, 1]>這種類型的(可以查看程序的輸出),也就是說,交給reduce處理時就

原创 幾張圖看懂列式存儲

1 爲什麼要按列存儲列式存儲(Columnar or column-based)是相對於傳統關係型數據庫的行式存儲(Row-basedstorage)來說的。簡單來說兩者的區別就是如何組織表(翻譯不好,直接抄原文了):Ø  Row-base

原创 MapReduce程序之二次排序與多次排序

[toc] 需求 有下面的數據: cookieId time url 2 12:12:34 2_hao123 3 09:10:34 3_baidu 1 15:02:41 1_google 3

原创 《51CTO博客2.0——活躍之星評選大賽》獲獎圖書收到啦

活躍之星獲獎 在上個月參加的《51CTO博客2.0——活躍之星評選大賽》http://blog.51cto.com/51ctoblog/2097470非常榮幸地獲得了第三名,感謝主辦方51CTO博客,也非常感謝關注我博客的朋友們! 獎品分享

原创 Redis筆記整理(二):Java API使用與Redis分佈式集羣環境搭建

[TOC] Redis Java API使用(一):單機版本Redis API使用 Redis的Java API通過Jedis來進行操作,因此首先需要Jedis的第三方庫,因爲使用的是Maven工程,所以先給出Jedis的依賴: <dep

原创 MapReduce之Job工具類開發

[toc] MapReduce之Job工具類開發 在MapReduce程序寫Mapper和Reducer的驅動程序時,有很多代碼都是重複性代碼,因此可以將其提取出來寫成一個工具類,後面再寫MapReduce程序時都會使用這個工具類。 Jo

原创 MapReduce原理與設計思想

原文:http://blog.jobbole.com/80619/文中並沒有手動實現mapreduce wordcount的例子,後面我自己會寫一個,但總體文章寫得還是挺好的。簡單解釋 MapReduce 算法一個有趣的例子你想數出一摞牌中