本篇內(nèi)容主要講解“Task的內(nèi)部類和輔助類是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Task的內(nèi)部類和輔助類是什么”吧!
創(chuàng)新互聯(lián)公司長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為葉縣企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),葉縣網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
Task有很多內(nèi)部類,并擁有大量類成員變量,這些類配合Task完成相關(guān)的工作,如下圖。
MapOutputFile管理著Mapper的輸出文件,它提供了一系列g(shù)et方法,用于獲取Mapper需要的各種文件,這些文件都存放在一個目錄下面。
我們假設(shè)傳入MapOutputFile的JobID為job_200707121733_0003,TaskID為task_200707121733_0003_m_000005。MapOutputFile的根為
{mapred.local.dir}/taskTracker/jobcache/{jobid}/{taskid}/output
在下面的討論中,我們把上面的路徑記為{MapOutputFileRoot}
以上面JogID和TaskID為例,我們有:
{mapred.local.dir}/taskTracker/jobcache/job_200707121733_0003/task_200707121733_0003_m_000005/output
需要注意的是,{mapred.local.dir}可以包含一系列的路徑,那么,Hadoop會在這些根路徑下找一個滿足要求的目錄,建立所需的文件。MapOutputFile的方法有兩種,結(jié)尾帶ForWrite和不帶ForWrite,帶ForWrite用于創(chuàng)建文件,它需要一個文件大小作為參數(shù),用于檢查磁盤空間。不帶ForWrite用于獲取以建立的文件。
getOutputFile:文件名為{MapOutputFileRoot}/file.out;
getOutputIndexFile:文件名為{MapOutputFileRoot}/file.out.index
getSpillFile:文件名為{MapOutputFileRoot}/spill{spillNumber}.out
getSpillIndexFile:文件名為{MapOutputFileRoot}/spill{spillNumber}.out.index
以上四個方法用于Task子類MapTask中;
getInputFile:文件名為{MapOutputFileRoot}/map_{mapId}.out
用于ReduceTask中。我們到使用到他們的地方再介紹相應(yīng)的應(yīng)用場景。
介紹完臨時文件管理以后,我們來看Task.CombineOutputCollector,它繼承自org.apache.hadoop.mapred.OutputCollector,很簡單,只是一個OutputCollector到IFile.Writer的Adapter,活都讓IFile.Writer干了。
ValuesIterator用于從RawKeyValueIterator(Key,Value都是DataInputBuffer,ValuesIterator要求該輸入已經(jīng)排序)中獲取符合RawComparator<KEY>comparator的值的迭代器。它在Task中有一個簡單子類,CombineValuesIterator。
Task.TaskReporter用于向JobTracker提交計數(shù)器報告和狀態(tài)報告,它實現(xiàn)了計數(shù)器報告Reporter和狀態(tài)報告StatusReporter。為了不影響主線程的工作,TaskReporter有一個獨立的線程,該線程通過TaskUmbilicalProtocol接口,利用Hadoop的RPC機制,向JobTracker報告Task執(zhí)行情況。
FileSystemStatisticUpdater用于記錄對文件系統(tǒng)的對/寫操作字節(jié)數(shù),是個簡單的工具類。
到此,相信大家對“Task的內(nèi)部類和輔助類是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站題目:Task的內(nèi)部類和輔助類是什么
網(wǎng)站地址:http://chinadenli.net/article20/jpsoco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、建站公司、App設(shè)計、小程序開發(fā)、網(wǎng)站改版、電子商務(wù)
聲明:本網(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)