spark程式設計實戰 三 CountOnce

2021-09-08 02:39:58 字數 639 閱讀 2785

最近正在看《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等演算法模型。專案主要是 航班的延遲時間,專案是按照如下的流程來講解 在模型訓練地方,詳細講解了交叉驗證的功能 老湯人工智慧 機器學習課程體系分為三部分 機器學習一之數學基礎 從微積分和線性代數兩個方面講解機器學習需要的數學知識...