最近正在看《spark大資料處理:技術、應用與效能優化》這本書,然後對於最後一章的程式設計實戰比較感興趣。但是上面寫的演算法個人覺得還不是很簡潔,無法體現出scala的優點,所以稍作了一些修改,僅供參考。
假設hdfs只儲存乙個標號為id的block,每份資料儲存2個備份,這樣就有2個機器儲存
了相同的資料。 其中id是小於10億的整數。
若有乙個資料塊丟失,則需要找到哪個是丟失的
資料塊。
在某個時間,如果得到乙個資料塊id的列表,能否快速地找到這個表中僅出現一次的
id?即快速找出出現故障的資料塊的id。
問題闡述:已知乙個陣列,陣列中只有乙個資料是出現一遍的,其他資料都是出現兩
遍,將出現一次的資料找出。
1.例項描述
輸入為block id。
1、 2、 2、 3、 3、 1、 5、 7、 11……
輸出為:
2.設計思路
利用異或運算將列表中的所有id異或,之後得到的值即為所求id。 先將每個分割槽的資料
異或,然後將結果進行異或運算
**實現:
import org.apache.spark.
object countonce
}
Spark資料傾斜方案實戰 三
作者 小艦 出品 dlab資料實驗室 id rucdlab 增加隨機字首 1.資料準備 由於上面兩期,我們都是用的1.2億條資料的單錶來進行測試的,本節的場景需要涉及到兩表join,因此我們再次構造乙個小表。本期我們就用這兩個表進行join,再簡單回顧一下那1.2億條資料的表cyj skew,其中有...
Spark簡單案例實戰
一.給定一組鍵值對 spark 2 hadoop 6 hadoop 4 spark 6 鍵值對的key表示圖書名稱,value表示每天圖書銷量,請計算出每個鍵對應的平均值,也就是每種圖書每天的平均銷量。1.如下 val book array spark 2 hadoop 6 hadoop 4 spa...
spark 簡單實戰 Spark線性回歸簡單例子
這個課程以乙個專案來講解spark中怎麼使用線性回歸 邏輯回歸以及svm等演算法模型。專案主要是 航班的延遲時間,專案是按照如下的流程來講解 在模型訓練地方,詳細講解了交叉驗證的功能 老湯人工智慧 機器學習課程體系分為三部分 機器學習一之數學基礎 從微積分和線性代數兩個方面講解機器學習需要的數學知識...