原创 IndexedRDD 源碼解讀一

1. IndexedRDDPartion構建過程 調用構建函數 val vp = IndexedRDDPartition(Iterator((0L, 1), (1L, 1))) 這裏會調用IndexedRDDPart

原创 分佈式圖並行計算框架:PowerGraph

1. About Joseph E.Conzalez 首先關於約瑟夫,他目前在伯克利AMP實驗室做博士後,這是他博客的一個截圖。在他博客中寫道,下個月即2016年1月份將要當任伯克利的助理教授。 在看了他的簡歷後,發現他居然也是

原创 Chapter11 類型參數

1. 泛型類 個人理解:泛型實質就是類或方法在定義時沒有給定具體參數類型,需要在編譯或運行時自動推斷出類型的一種方法。 用方括號來定義類型參數,放在類名後面。下面就定義了一個帶有兩個類型參數T和S的類。 class

原创 Chapter07 包和引入

1. 包 package 源文件目錄和包之間並沒有強制的關聯關係。比如下面Manager.scala不一定要在./com/horstmann/impatient目錄中。 // Manager.scala pac

原创 Chapter10 注 解

Chapter10這節還是挺重要的,在看Spark源碼的過程中,發現其源碼使用到很多註解的知識,所以這節一定要好好學習。 1. 什麼是註解 註解:是那些你插入到代碼中以方便工具可以對它們進行處理的標籤。 註解作用:是描述那

原创 ubuntu下恢復rm刪除的數據

1. 論“備份”的重要性 今天手真快,Tab補全文件名後回車,昨天一天寫的代碼就被我remove了。雖然自己寫了腳本備份系統和home目錄,但系統是1天一備份,home是2天一次增量備份。又恰巧昨晚沒有備份home,並且git也沒

原创 Chapter09 特質

1. 爲什麼沒有多重繼承 準備這個Chapter講文件和正則表達式,但該內容按照其他語言安排一般都是在最後幾章節,所以暫時先忽略該章節,後面會補上。 轉入正題,如果有兩個類Student和Employee,它們都有name這個屬

原创 高效細粒度更新的RDD:Spark IndexedRDD

1. 問題由來 由於RDD是只讀不可更改的,即Spark RDD的Immutable特性,如果想要更新或刪除RDD裏面的數據,就要遍歷整個RDD進行操作,並生成一個新的RDD。 有的同學會有疑問,爲什麼不把RDD設計成可讀寫,這樣

原创 Chapter12 Scala操作符

1. 標識符 變量名、函數名、類名等統稱爲標識符,scala可以使用任何字符來作標識符,比如 ()!#%&×+-/:<>=?@\^|~ 等。 反引號中可以使用任何字符序列。 val √ = scala.math.s

原创 Chapter08 繼承

1. 擴展類 擴展的方法是使用extends關鍵字 class Person { var name = "" } class Employee extends Person {

原创 PageRank算法原理剖析及Spark實現

1. 什麼是PageRank PageRank對網頁排名的算法,曾是Google發家致富的法寶。PageRank算法計算每一個網頁的PageRank值,然後根據這個值的大小對網頁的重要性進行排序。 2. 簡單PageRank算法

原创 Ubuntu終端訪問samba服務器

習慣終端訪問文件和目錄,每次訪問實驗室samba服務器都要動鼠標,好麻煩~_~,呵呵,發現自己好懶。在google搜索找到終端訪問samba好多方法,下面整理了兩種方法:第一種是使用smbclient訪問samba服務器,第二種

原创 Graphx 最短路徑源碼解析

1. 最短路徑測試代碼 下面主要是對Spark圖計算框架GraphX中的單源點最短路徑的源碼進行解析。 test("shortPaths") { // 測試的真實結果,後面用於對比 val

原创 圖解Spark Transformation算子

0. 寫在前面 Spark總共有兩類算子,分別是Transformation算子和Action算子。Transformation算子變換不觸發提交作業,而Action算子會觸發SparkContext提交Job作業,下面主要使用p

原创 GraphLab 安裝在Hadoop集羣

0. 寫在前面 感覺GraphLab非常驚豔,可以在python環境當中非常好地使用。但它在接受了兩輪投資之後已經由原來的免費項目變成了一個付費試用的項目。但是個人和學術使用依然可以申請。伴隨着這個商業化的過程,graphlab