中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

大數據文本并行計算實現方式是什么

發布時間:2022-01-15 16:14:23 來源:億速云 閱讀:148 作者:柒染 欄目:大數據

本篇文章為大家展示了大數據文本并行計算實現方式是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

對于大數據文件的處理,可以充分利用現代計算機的多核CPU,實施多線程并行計算,從而達到提速的目的。然而,要在程序語言中編寫多線程并行程序,并不是一件容易的事。

要并行處理就需要將源文件分段,每個線程處理其中一段。文本文件一般是每一行對應一條記錄,每一行長度不一定相同。所以,不能按行數分段,因為每次都從頭遍歷,起不到提高性能的目標;若按字節分段則不需要遍歷,但有可能分段點正好落在行的中間,造成一行被拆進兩段,導致數據錯誤。有效的解決辦法是采用自動去頭補尾的字節分段機制,即分段開始點所在的行被舍棄,分段結束點所在的行會被補齊,這樣將確保每一段都由完整的行構成,不會有數據錯誤。另外,還有線程的管理和控制等問題,如果管理不當,則會出現越界的情況。

如果有集算器SPL就簡單多了,它對多線程并行計算進行了封裝,代碼寫起來不僅更短而且更容易理解,這樣在獲得高性能的同時,讓程序員把注意力更多地放在計算的整體邏輯上,而不必糾纏于為了提高性能而采用的并行細節。用集算器SPL寫出并行計算代碼:


A

B

C

1

=file(“data.txt”)

/源文件

2

fork 4

=A1.cursor@t(amount;A2:4)

/分作4段并行,分別建立游標

3


=B2.groups(;sum(amount):am)

/遍歷游標計算amount之和

4

=A2.conj().sum(am)

/匯總每個線程的結果

文本解析的時間經常比計算要長得多,有時候只要解析能夠并行,計算本身是否并行并不重要。所以SPL對于讀取數據提供了簡單的內置并行選項,如果對數據讀取次序不關心,比如分組、求和運算就不在乎次序,可以更簡單地寫出代碼:


A

B

1

=file("orders.txt").cursor@mt()

/@m選項將自動根據系統配置決定并行的線程數量

2

=A1.select(month(Date)==10)

/過濾

3

=A2.groups(ID;sum(COST*WEIGHT):VALUE)

/分組、匯總(串行)

上述內容就是大數據文本并行計算實現方式是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武定县| 平遥县| 清镇市| 铁力市| 图们市| 郸城县| 芜湖县| 喜德县| 明溪县| 静海县| 沙洋县| 昭平县| 平乡县| 霞浦县| 年辖:市辖区| 霍城县| 池州市| 永仁县| 辽中县| 茂名市| 吴旗县| 柞水县| 琼结县| 平乐县| 盐边县| 英山县| 营山县| 瑞昌市| 农安县| 措美县| 会昌县| 南通市| 潼关县| 星子县| 通渭县| 宿松县| 洛南县| 呼伦贝尔市| 凤翔县| 福州市| 襄樊市|