大數(shù)據(jù)文本并行計算實現(xiàn)方式是什么

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

成都創(chuàng)新互聯(lián)成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元賓川做網(wǎng)站,已為上家服務(wù),為賓川各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

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

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

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


A

B

C

1

=file(“data.txt”)

/源文件

2

fork 4

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

/分作4段并行,分別建立游標(biāo)

3


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

/遍歷游標(biāo)計算amount之和

4

=A2.conj().sum(am)

/匯總每個線程的結(jié)果

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


A

B

1

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

/@m選項將自動根據(jù)系統(tǒng)配置決定并行的線程數(shù)量

2

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

/過濾

3

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

/分組、匯總(串行)

上述內(nèi)容就是大數(shù)據(jù)文本并行計算實現(xiàn)方式是什么,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章題目:大數(shù)據(jù)文本并行計算實現(xiàn)方式是什么
本文來源:http://muchs.cn/article22/iehcjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)網(wǎng)頁設(shè)計公司、網(wǎng)站設(shè)計公司、服務(wù)器托管、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名